Checklist Provedores
CONSTRUÇÃO DA PÁGINA EM ANDAMENTO
Autenticação
O protocolo de autenticação utilizada no ecossistema no BR-UTM segue a arquitetura definida em ASTM F3548-21 Anexo X1.1 "Base Deployment: Access Tokens with Audience Claims", baseado no padrão de tokens JWT: IETC RFC 7519.
Checklist:
- Obter apikey
- Realizar autenticação
- Validar autenticação de outro USS
Os detalhes técnicos podem ser obtidos em: <REF>
Desconflito
Identificação
Autenticação
Autenticar-se
A URL base é GET http://montreal.icea.decea.mil.br:64235/token
A requisição deve conter as seguintes query_strings
intended_audience | USS de destino da mensagem (Vem na OIR ou Constraint no campo manager) |
scope |
escopo da requisição. Ex.: utm.strategic_coordination.
O scope esperado de cada endpoint está definido no OpenAPI |
apikey | chave recebida do ICEA. Pode-se optar em enviar esse campo no Header da requisição |
Validar autenticação de outro USS
Ao receber uma requisição de outro USS em seu servidor, é necessário validar o token de autenticação fornecido pelo outro USS. O payload do token contém as seguintes informações:
aud |
Nome do provedor destino da requisição |
"core-service" |
exp |
Timestamp epoch do horário de expiração do token. O token não deve ser aceito a partir desse horário |
1719777868 |
iss |
Nome do provedor emissor do token |
ICEA |
scope |
Scope autorizado pelo token. Cada endpoint deve aceitar apenas determinados scopes, conforme definido no OpenAPI |
utm.strategic_coordination |
sub |
Nome do provedor origem da requisição |
"USS1" |
Os passos para verificação são
- Verificar assinatura do token
- Deve-se validar a assinatura do token utilizando a chave pública do ICEA
- Verificar a validade do token
- Deve-se validar que o campo "exp" não seja menor do que o horário atual
- Verficiar audiência do token
- Deve-se validar que o campo "aud" seja o seu nome, ou seja, o nome do provedor que está recebendo a requisição
- Verificar o scope
- Deve-se validar que o campo "scope" contenha o scope necessário para requisitar o endpoint. Um token pode possuir mais de um scope separados por espaço em branco.
Eco-UTM Autenticator Public Key
-----BEGIN PUBLIC KEY-----
MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgHkNtpy3GB0YTCl2VCCd22i0rJwI
GBSazD4QRKvH6rch0IP4igb+02r7t0X//tuj0VbwtJz3cEICP8OGSqrdTSCGj5Y0
3Oa2gPkx/0c0V8D0eSXS/CUC0qrYHnAGLqko7eW87HW0rh7nnl2bB4Lu+R8fOmQt
5frCJ5eTkzwK5YczAgMBAAE=
-----END PUBLIC KEY-----