Autenticação e Autorização
O padrão oAuth2 é utilizado para autenticação e autorização. Todas as requisições devem possuir um http header “Authorization” que deve conter os dados de autenticação;
Autenticação simples
A autenticação simples segue o padrão Basic Http Auth (https://tools.ietf.org/html/rfc7617), que basicamente é o envio do prefixo “Basic” concatenado com o schema encodado em base 64. O schema é definido por “username:otp”.
Request Ex:
Authorization | Basic <schema encodado em base64> |
Autenticação com abertura de sessão
A autenticação com abertura de sessão envolve um parâmetro adicional para especificar se o access token será retornado ou não, no qual será o lifetime da sessão e se a sessão será automaticamente finalizada no fim da transação.
Caso seja enviado a flag “returnAccessToken” com o valor true, na resposta http do serviço será recebido o header “VCSchemaData”, que conterá o access token, o lifetime (da sessão) e o provider (id da nuvem configurado na variável de ambiente urlsMultiCloud).
Quando enviado o parâmetro lifetime, deve ser enviado o tempo da sessão em segundos (respeitando as regras do provedor de serviços de criptografia em uso). Caso não seja enviado, o CESS irá utilizar o lifetime padrão da instância/aplicação.
Caso seja enviado o parâmetro autoRevoke com o valor false, ele irá desativar a revogação automática da sessão no fim da transação (útil para reuso de uma autenticação por um período)
Request Ex:
Authorization | Basic <schema encodado em base64> |
VCSchemaCfg | returnAccessToken=true;lifetime=999;autoRevoke=true |
Response Ex:
VCSchemaData | accessToken;lifetime;provider |
Autenticação com sessão já aberta
Request Ex:
Authorization | Bearer <token de acesso> |
Autenticação especial
A autenticação especial deve ocorrer através do Vault Cloud Schema (Somente para provedores crypto pki indicados).
O Schema pode ser definido da seguinte forma:
username:otp
username:otp@ip
username:otp@ip:port
username|accesstoken
username|accesstoken@ip
username|accesstoken@ip:port
provider-username:otp
provider-username:otp@ip
provider-username:otp@ip:port
provider-username|accesstoken
provider-username|accesstoken@ip
provider-username|acesstoken@ip:port
Request Ex:
Authorization | VCSchema <schema encodado em base64> |
Revogar sessão
O serviço funciona para assinaturas attached (conteúdo anexado na assinatura) e detached (conteúdo não anexado na assinatura).
POST
http://cess.local/revoke
Headers
Name | Type | Description |
---|---|---|
Content-Type | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
token | string | Token de acesso recebido durante a abertura de sessão |
Last updated