Autenticação (authentication)

Autenticação (authentication)

164 views 17/03/2021 06/05/2021 integrador 1

2.0info: 5.3.3 Autenticação description: Responsável pela autenticação na plataforma G7. x-senior-domain: Plataforma x-senior-domain-path: platform x-senior-service-path: authentication contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: api.senior.com.br /platform/authentication/securityDefinitions: bearerAuth: type: apiKey in: header name: Authorization – application/json – application/jsonpaths: /queries/tenantLoginSettings: post: description: Obtém as configurações de login do tenant associado ao tenantDomain informado. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – tenantDomain properties: tenantDomain: type: string description: Domínio do tenant que deve as informações de login retornadas. scope: type: string description: Escopo personalizado para login via SAML, utilizado por aplicações mobile responses: 200: description: Ok schema: type: object required: – tenantName – cookieDomain – changePasswordSettings – rememberMeSettings – loginProviders – authenticationTypes properties: tenantName: type: string description: Nome do tenant associado ao domínio informado. cookieDomain: type: string description: Dóminio em que os cookies utilizados pela plataforma devem estar associados. changePasswordSettings: #/definitions/changePasswordSettings rememberMeSettings: #/definitions/rememberMeSettings loginProviders: #/definitions/loginProviders authenticationTypes: type: string description: Tipos de autenticação suportados tenantDomain: type: string description: Domain do tenant, utilizado para quando é realizada a requisição usando o tenantName. default: description: Error response schema: #/definitions/genericError /anonymous/actions/loginWithKey: post: description: Realiza login na plataforma com chave e segredo informados pelo usuário. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – in: header name: X-Tenant description: Nome do tenant type: string – in: header name: X-TenantDomain description: Domínio tenant type: string – name: input in: body required: true schema: type: object required: – accessKey – secret – tenantName properties: accessKey: type: string description: Chave da aplicação secret: type: string description: Segredo da chave informada tenantName: type: string description: Nome do tenant em que se deseja efetuar o login scope: type: string description: Escopo do token da autenticação. Opcional, se não for informado será usado o valor padrão 'desktop' responses: 200: description: Ok schema: type: object required: – jsonToken properties: jsonToken: type: string description: String contendo um json com o token de acesso e tempo de validade do token de acesso 400: description: Requisição inválida, parâmetros obrigatórios não informados 401: description: Não foi possível efetuar o login no tenant com o accessKey e secret informados default: description: Error response schema: #/definitions/genericError /actions/login: post: description: Realiza login na plataforma. O login pode ser realizado informando usuário e senha ou o código de autorização obtido de um provedor externo (SAML, por exemplo). Se o usuário/tenant estiver configurado para usar autenticação multifator, será retornado, dentro do objeto 'mfaInfo', um token temporário que deverá ser utilizado na primitiva loginMFA para efetivamente realizar o login. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object properties: username: type: string description: Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. Este campo deve ser informado se o login for baseado em um usuário e senha. password: type: string description: Senha do usuário. Este campo deve ser informado se o login for baseado em um usuário e senha. code: type: string description: Código de autorização do provedor externo de autenticação. Provedores suportados: SAML. Este campo deve ser informado se o login for baseado em um código de autorização. scope: type: string description: Escopo do token da autenticação. Opcional, se não for informado será usado o valor padrão 'desktop' responses: 200: description: Ok schema: type: object properties: jsonToken: type: string description: String contendo um json com os tokens de acesso, de refresh, o tempo de validade restante para o token de acesso e o nome do usuário. Se o usuário/tenant estiver configurado para usar autenticação multifator, esse token não será retornado. Ao invés disso, será retornado um token temporário, dentro do 'mfaInfo', que deverá ser enviado na primitiva loginMFA. mfaInfo: #/definitions/loginMFAInfo resetPasswordInfo: #/definitions/resetPasswordInfo 401: description: Usuário ou senha inválido 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente default: description: Error response schema: #/definitions/genericError /actions/loginMFA: post: description: Realiza o login na plataforma por meio de um código de validação OTP (One-time password) gerado pelo Google Authenticator. Além do código de validação, é necessário informar o token temporário que foi retornado pela primitiva 'login', que é sempre o primeiro passo da autenticação. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – temporaryToken – validationCode properties: temporaryToken: type: string description: Token temporário que foi retornado pela primitiva 'login'. validationCode: type: integer description: Código de validação gerado pelo Google Authenticator responses: 200: description: Ok schema: type: object required: – jsonToken properties: jsonToken: type: string description: String contendo um json com os tokens de acesso, de refresh, o nome do usuário e o tempo de validade restante para o token de acesso. resetPasswordInfo: #/definitions/resetPasswordInfo 401: description: Código de verificação inválido 400: description: Requisição inválida, parâmetros obrigatórios não informados default: description: Error response schema: #/definitions/genericError /actions/loginWithResetPassword: post: description: Realiza o login na plataforma e altera a senha do usuário. Quando o usuário é sinalizado para alterar a senha após se autenticar ao fazer o login ele recebe um token temporário que deve ser passado no campo `temporaryToken`, o token indica que o usuário já se autenticou na plataforma porém precisa alterar a senha para finalizar o processo de login. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – username – temporaryToken – newPassword properties: username: type: string description: Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. temporaryToken: type: string description: Teken temporário retornado pela primitiva 'login'. newPassword: type: string description: Nova senha que deve ser atribuída ao usuário associado ao token temporário responses: 200: description: Ok schema: type: object required: – jsonToken properties: jsonToken: type: string description: String contendo um json com os tokens de acesso, de refresh, o nome do usuário e o tempo de validade restante para o token de acesso. default: description: Error response schema: #/definitions/genericError /actions/logout: post: description: Invalida o token de acesso informado e publica um evento informando que o usuário realizou logout. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – accessToken properties: accessToken: type: string description: Token de acesso que será invalidado. responses: 200: description: Ok 401: description: Não foi possível efetuar o logout, token inválido 400: description: Requisição inválida, parâmetros obrigatórios não informados default: description: Error response schema: #/definitions/genericError /anonymous/queries/getUserAuthenticationType: post: description: x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – in: header name: X-Tenant description: Nome do tenant type: string – in: header name: X-TenantDomain description: Domínio tenant type: string – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. responses: 200: description: Ok schema: type: object required: – authenticationType properties: authenticationType: #/definitions/authType default: description: Error response schema: #/definitions/genericError /actions/refreshToken: post: description: Gera um novo token a partir de um refresh_token, é utilizado para manter o usuário logado após o acess_token expirar. x-senior-event: false deprecated: false tags: – Endpoints security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – refreshToken properties: refreshToken: type: string description: O refresh_token que foi retornado junto ao access_token durante o login. scope: type: string description: Escopo do token. Pode ser um dos seguintes valores: phone, desktop, tablet, iot ou wearable. Se não fornecido, o valor padrão é desktop responses: 200: description: Ok schema: type: object required: – jsonToken properties: jsonToken: type: string description: String contendo um json com os tokens de acesso, de refresh, o tempo de validade restante para o token de acesso e o nome do usuário 401: description: Não foi possível gerar novo token, token de atualização inválido 400: description: Requisição inválida, parâmetros obrigatórios não informados default: description: Error response schema: #/definitions/genericError /events/loggedIn: post: description: Informa que um usuário efetou login no sistema x-senior-event: true deprecated: false tags: – Events security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – username – loginDateTime – tokenExpiration properties: username: type: string description: Nome do usuário que efetuou o login loginDateTime: type: string description: Data e hora do login tokenExpiration: type: integer description: Tempo para expirar o token em segundos responses: 200: description: Ok default: description: Error response schema: #/definitions/genericError /events/ApplicationLoggedIn: post: description: Informa que uma applicação efetou login no sistema x-senior-event: true deprecated: false tags: – Events security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – application – loginDateTime – tokenExpiration properties: application: type: string description: Nome da aplicação que efetuou o login loginDateTime: type: string description: Data e hora do login tokenExpiration: type: integer description: Tempo para expirar o token em segundos responses: 200: description: Ok default: description: Error response schema: #/definitions/genericError /events/loggedOut: post: description: Informa que um usuário efetuou logout no sistema x-senior-event: true deprecated: false tags: – Events security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário que efetuou logout responses: 200: description: Ok default: description: Error response schema: #/definitions/genericError /events/applicationLoggedOut: post: description: Informa que uma aplicação efetuou logout no sistema x-senior-event: true deprecated: false tags: – Events security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – application properties: application: type: string description: Nome da aplicação que efetuou logout responses: 200: description: Ok default: description: Error response schema: #/definitions/genericError /events/tokenRefreshed: post: description: Informa que o token de um usuário foi atualizado x-senior-event: true deprecated: false tags: – Events security: – bearerAuth: [] parameters: – name: input in: body required: true schema: type: object required: – username – previousToken – loginDateTime – tokenExpiration properties: username: type: string description: Nome do usuário do qual o token foi atualizado previousToken: type: string description: Token anterior do usuário loginDateTime: type: string description: Data e hora do login tokenExpiration: type: integer description: Tempo para expirar o token em segundos responses: 200: description: Ok default: description: Error response schema: #/definitions/genericErrordefinitions: authType: type: string enum: – G7 – G5 – LDAP – SAML userOTPAuthStatusDTO: type: string enum: – UNCONFIGURED – CONFIGURED – RESETTED changePasswordSettings: type: object required: – allowed – url properties: allowed: type: boolean description: Indica se é permitida a redefinição de senha. url: type: string description: Url da tela para redefinição de senha. customRecaptchaSiteKey: type: string description: Chave pública (siteKey) da customização do recaptcha. rememberMeSettings: type: object required: – allowed – expiration properties: allowed: type: boolean description: Indica se é permitida a opção lembrar-me na tela de login. expiration: type: integer description: Tempo de vida (em horas) do cookie ao marcar a opção lembrar-me. loginProviders: type: object properties: saml: #/definitions/samlProvider samlProvider: type: object required: – url properties: url: type: string description: Url para realizar login loginMFAInfo: type: object required: – temporaryToken – mfaStatus – tenant properties: temporaryToken: type: string description: Token temporário gerado quando o usuário possui autenticação multifator habilitada. mfaStatus: #/definitions/userOTPAuthStatusDTO tenant: type: string description: Nome do tenant resetPasswordInfo: type: object required: – temporaryToken – tenant properties: temporaryToken: type: string description: Token temporário gerado quando o usuário precisa alterar a senha tenant: type: string description: Nome do tenant genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE

Este artigo foi útil para você?

Leave A Comment