2.0info: 9.13.2 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: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/platformsecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /authentication/queries/healthcheck: post: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/upDown description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkData minimum: 1 description: Itens avaliados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Query para o SRE verificar a disponibilidade do serviço tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/upDown description: Status do serviço checks: type: array items: type: object allOf: – #/definitions/checkData minimum: 1 description: Itens avaliados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/tenantLoginSettings: post: description: Obtém as configurações de login do tenant associado ao tenantDomain informado. tags: – Queries x-senior-visibility: PUBLIC 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: type: object allOf: – #/definitions/changePasswordSettings description: Configurações de redefinição de senha. rememberMeSettings: type: object allOf: – #/definitions/rememberMeSettings description: Configurações de lembrar-me. loginProviders: type: object allOf: – #/definitions/loginProviders description: Provedores para realizar login. authenticationTypes: type: array items: type: string minimum: 1 description: Tipos de autenticação suportados tenantDomain: type: string description: Domain do tenant, utilizado para quando é realizada a requisição usando o tenantName. ttlSessionDataKey: type: integer format: int64 description: TTL para controlar o cache do sessionDataKey no Session Storage do browser. Valor padrão 3600000ms 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Obtém as configurações de login do tenant associado ao tenantDomain informado. tags: – Queries x-senior-visibility: PUBLIC parameters: – name: tenantDomain description: Domínio do tenant que deve as informações de login retornadas. in: query required: true type: string – name: scope description: Escopo personalizado para login via SAML, utilizado por aplicações mobile in: query type: string 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: type: object allOf: – #/definitions/changePasswordSettings description: Configurações de redefinição de senha. rememberMeSettings: type: object allOf: – #/definitions/rememberMeSettings description: Configurações de lembrar-me. loginProviders: type: object allOf: – #/definitions/loginProviders description: Provedores para realizar login. authenticationTypes: type: array items: type: string minimum: 1 description: Tipos de autenticação suportados tenantDomain: type: string description: Domain do tenant, utilizado para quando é realizada a requisição usando o tenantName. ttlSessionDataKey: type: integer format: int64 description: TTL para controlar o cache do sessionDataKey no Session Storage do browser. Valor padrão 3600000ms 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/getUserAuthenticationType: post: description: API DEPRECIADA: This endpoint will be removed. If you want to know the user authentication type, you must be authenticated and have permission to call user/getUser | DATA: 2024-10-29 | tags: – Queries deprecated : true x-senior-visibility: PUBLIC parameters: – 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: type: string allOf: – #/definitions/authType description: Tipo de autenticação do usuário default: description: Error response schema: #/definitions/genericError get: description: API DEPRECIADA: This endpoint will be removed. If you want to know the user authentication type, you must be authenticated and have permission to call user/getUser | DATA: 2024-10-29 | tags: – Queries deprecated : true x-senior-visibility: PUBLIC parameters: – name: username description: Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. in: query required: true type: string responses: 200: description: Ok schema: type: object required: – authenticationType properties: authenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação do usuário default: description: Error response schema: #/definitions/genericError /authentication/queries/getUserAuthenticationMode: post: description: tags: – Queries x-senior-visibility: PRIVATE parameters: – 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: – authMode properties: authMode: type: string allOf: – #/definitions/authMode description: Tipo de autenticação do usuário default: description: Error response schema: #/definitions/genericError get: description: tags: – Queries x-senior-visibility: PRIVATE parameters: – name: username description: Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. in: query required: true type: string responses: 200: description: Ok schema: type: object required: – authMode properties: authMode: type: string allOf: – #/definitions/authMode description: Tipo de autenticação do usuário default: description: Error response schema: #/definitions/genericError /authentication/queries/getExternalLoginUrl: post: description: Retorna a URL da tela de login do provedor externo de autenticação. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – provider properties: provider: type: string allOf: – #/definitions/externalAuthProvider description: Provedor de autenticação. Por enquanto suportamos apenas o provedor SAML. scope: type: string description: Escopo para ser utilizado na autenticação externa responses: 200: description: Ok schema: type: object required: – url properties: url: type: string description: A URL da tela de login do provedor externo de autenticação. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/getOTPAuthenticationConfig: post: description: Retorna as configurações do fator de autenticação OTP (One time password) do tenant atual. tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object allOf: – #/definitions/OTPAuthenticationConfig 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Retorna as configurações do fator de autenticação OTP (One time password) do tenant atual. tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object allOf: – #/definitions/OTPAuthenticationConfig 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/listUsersOTPConfig: post: description: Lista todos os usuários e suas configurações do fator de autenticação OTP (One time password). tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: page: type: integer format: int64 description: Índice da página. A primeira página corresponde ao índice 1. minimum: 1 limit: type: integer format: int64 description: Quantidade máxima de registros para retornar. filter: type: string description: Lista usuários que contenham o filtro informado no seu nome. responses: 200: description: Ok schema: type: object required: – users – total properties: users: type: array items: type: object allOf: – #/definitions/userOTPAuthConfig minimum: 1 description: Usuários encontrados. total: type: integer format: int64 description: Quantidade total de usuários. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Lista todos os usuários e suas configurações do fator de autenticação OTP (One time password). tags: – Queries x-senior-visibility: PRIVATE parameters: – name: page description: Índice da página. A primeira página corresponde ao índice 1. in: query type: integer format: int64 – name: limit description: Quantidade máxima de registros para retornar. in: query type: integer format: int64 – name: filter description: Lista usuários que contenham o filtro informado no seu nome. in: query type: string responses: 200: description: Ok schema: type: object required: – users – total properties: users: type: array items: type: object allOf: – #/definitions/userOTPAuthConfig minimum: 1 description: Usuários encontrados. total: type: integer format: int64 description: Quantidade total de usuários. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/getUserIdentityMigrationInfo: post: description: Traz as informações necessárias para a migração da identidade do usuário. Necessário ter permissão na ação de visualizar do recurso master user_identity_migration tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: Nome do usuário no formato user@domain responses: 200: description: Ok schema: type: object allOf: – #/definitions/userIdentityMigrationInfo 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Traz as informações necessárias para a migração da identidade do usuário. Necessário ter permissão na ação de visualizar do recurso master user_identity_migration tags: – Queries x-senior-visibility: PRIVATE parameters: – name: username description: Nome do usuário no formato user@domain in: query required: true type: string responses: 200: description: Ok schema: type: object allOf: – #/definitions/userIdentityMigrationInfo 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/getMetadata: post: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: metadataFormat: type: string description: responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: metadataFormat description: in: query type: string responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/queries/getDependencies: post: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/login: post: description: Realiza login na plataforma.\nO login pode ser realizado informando usuário e senha ou o código de autorização obtido de um provedor externo (SAML, por exemplo).\nSe 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. tags: – Actions x-senior-visibility: PUBLIC 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.\nEste 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. secret: true code: type: string description: Código de autorização do provedor externo de autenticação. Provedores suportados: SAML.\nEste 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 recaptcha: type: string description: Campo utilizado para receber o recaptcha para validar o login do usuário. 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.\nSe 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\ndeverá ser enviado na primitiva loginMFA. mfaInfo: type: object allOf: – #/definitions/loginMFAInfo description: Informações para realizar o próximo passo da autenticação quando o usuário utiliza autenticação multifator. resetPasswordInfo: type: object allOf: – #/definitions/resetPasswordInfo description: Informações para realizar o próximo passo da autenticação quando o usuário está sinalizado para alterar a senha após se autenticar. 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido default: description: Error response schema: #/definitions/genericError /authentication/actions/login__9: post: description: Realiza login na plataforma utilizando o Identity Provider da senior.\nO login pode ser realizado informando usuário e senha ou o código de autorização obtido de um provedor externo (SAML, por exemplo).\nSe 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.\nObs.: O logout de um token JWT invalidará apenas o token de refresh, mantendo o token de acesso válido até a sua expiração. tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object properties: username: type: string description: Nome do usuário incluindo o domínio. Exemplo: david.gilmour@pinkfloyd.com.br.\nEste 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. secret: true code: type: string description: Código de autorização do provedor externo de autenticação. Provedores suportados: SAML.\nEste 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\nObs.: Se o login for realizado utilizando o Identity Provider da senior, esse atributo não será levado em consideração. recaptcha: type: string description: Campo utilizado para receber o recaptcha para validar o login do usuário. 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.\nSe 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\ndeverá ser enviado na primitiva loginMFA.\nSe o login for realizado utilizando o Identity Provider da senior, o scope será nulo. mfaInfo: type: object allOf: – #/definitions/loginMFAInfo description: Informações para realizar o próximo passo da autenticação quando o usuário utiliza autenticação multifator. resetPasswordInfo: type: object allOf: – #/definitions/resetPasswordInfo description: Informações para realizar o próximo passo da autenticação quando o usuário está sinalizado para alterar a senha após se autenticar. 400: description: Requisição inválida, parâmetros obrigatórios não informados ou campo informado incorretamente 401: description: Usuário ou senha inválido default: description: Error response schema: #/definitions/genericError /authentication/actions/loginWithResetPassword: post: description: Realiza o login na plataforma e altera a senha do usuário.\nQuando 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`,\no token indica que o usuário já se autenticou na plataforma porém precisa alterar a senha para finalizar o processo de login. tags: – Actions x-senior-visibility: PUBLIC 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: Token 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 secret: true 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. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/loginWithResetPassword__9: post: description: Realiza o login na plataforma utilizando o Identity Provider da senior e altera a senha do usuário.\nQuando 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`,\no token indica que o usuário já se autenticou na plataforma porém precisa alterar a senha para finalizar o processo de login. tags: – Actions x-senior-visibility: PUBLIC 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: Token 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 secret: true 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.\nSe o login for realizado utilizando o Identity Provider da senior, o scope será nulo. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/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.\nAlé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. tags: – Actions x-senior-visibility: PUBLIC 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 format: int64 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: type: object allOf: – #/definitions/resetPasswordInfo description: Informações para realizar o próximo passo da autenticação quando o usuário está sinalizado para alterar a senha após se autenticar. 400: description: Requisição inválida, parâmetros obrigatórios não informados 401: description: Código de verificação inválido default: description: Error response schema: #/definitions/genericError /authentication/actions/loginWithKey: post: description: Realiza login na plataforma com chave e segredo informados pelo usuário. tags: – Actions x-senior-visibility: PUBLIC parameters: – 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 recaptcha: type: string description: Campo utilizado para receber o recaptcha para validar o login. 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 /authentication/actions/logout: post: description: Invalida o token de acesso informado e publica um evento informando que o usuário realizou logout. tags: – Actions x-senior-visibility: PUBLIC 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 schema: type: object 400: description: Requisição inválida, parâmetros obrigatórios não informados 401: description: Não foi possível efetuar o logout, token inválido default: description: Error response schema: #/definitions/genericError /authentication/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. tags: – Actions x-senior-visibility: PUBLIC 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 – in: header name: X-Tenant required: true type: string 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 400: description: Requisição inválida, parâmetros obrigatórios não informados 401: description: Não foi possível gerar novo token, token de atualização inválido default: description: Error response schema: #/definitions/genericError /authentication/actions/configureOTPAuthentication: post: description: Configura o fator de autenticação OTP (One time password) do tenant atual. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object allOf: – #/definitions/OTPAuthenticationConfig responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/enableOTPAuthForUsers: post: description: Habilita/desabilita o fator de autenticação OTP para uma lista de usuários. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – usersConfig properties: usersConfig: type: array items: type: object allOf: – #/definitions/userEnableOTPAuth minimum: 1 description: Lista com os usuários e uma flag indicando se a autenticação com one-time password deve ser habilitada ou não. responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/resetUsersOTPAuthSecretKey: post: description: Regera a chave para os usuários informados, obrigando aos usuários a reconfigurarem o Google Authenticator. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: users: type: array items: type: string description: Identificador único dos usuários. responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/resetTenantOTPAuthSecretKey: post: description: Regera a chave para todos usuários do tenant (O tenant é obtido através do usuário que executou a primitiva), obrigando a todos usuários a reconfigurarem o Google Authenticator. tags: – Actions x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/getSharedSecretKeyURI: post: description: Retorna a chave secreta de um usuário no formato de URI, que pode ser usada para gerar um QR code. O QR code deve ser escaneado pelo usuário para configurar a chave no GoogleAuthenticator.\nA chave só será retornada se o status do usuário indicar que ele ainda não realizou a configuração do GoogleAuthenticator ou que sua chave foi regerada. A uri é retornada codificada em base 64, para gerar o QR code é necessário decodificá-la. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – temporaryToken properties: temporaryToken: type: string description: Token temporário que foi enviado por email no link da página de ajuda responses: 200: description: Ok schema: type: object required: – keyURI properties: keyURI: type: string description: URI, codificada em base 64, no formato necessário para gerar o QR Code que será utilizado para configurar a chave secreta no GoogleAuthenticator. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/checkOTPConfiguration: post: description: Verifica se o código informado é válido e se for, altera o status da configuração da autenticação OTP do usuário para CONFIGURED.\nCaso o status da configuração já seja CONFIGURED, irá lançar um erro do tipo Bad Request. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – temporaryToken – validationCode properties: temporaryToken: type: string description: Token temporário que foi enviado por email no link da página de ajuda. validationCode: type: integer format: int64 description: Código de validação gerado pelo Google Authenticator responses: 200: description: Ok schema: type: object required: – isValid properties: isValid: type: boolean description: Indica se o código informado é válido. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/sendMFAConfigEmail: post: description: Envia um e-mail com as instruções de configuração do SoftToken (Google Authenticator) para o usuário. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – temporaryToken properties: temporaryToken: type: string description: Token temporário que foi obtido na primitiva de login. responses: 200: description: Ok schema: type: object required: – emailAddress properties: emailAddress: type: string description: Endereço para o qual o e-mail foi enviado. 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/updateUserOTPSecret: post: description: Faz a atualização da secret do OTP do usuário. Somente master. tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – username – secretValue properties: username: type: string description: Nome do usuário secretValue: type: string description: Valor da secret responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/actions/sessionsInvalidate: post: description: Invalida os tokens ativos para uma lista de usuários tags: – Actions x-senior-visibility: PUBLIC parameters: – name: input in: body required: true schema: type: object required: – usernames properties: usernames: type: array items: type: string minimum: 1 description: Usuários que deveram ter seus tokens invalidados responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /authentication/events/loggedIn: post: description: Informa que um usuário efetou login no sistema x-senior-event: true tags: – Events 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 format: date-time description: Data e hora do login tokenExpiration: type: integer format: int64 description: Tempo para expirar o token em segundos responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /authentication/events/ApplicationLoggedIn: post: description: Informa que uma applicação efetou login no sistema x-senior-event: true tags: – Events 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 format: date-time description: Data e hora do login tokenExpiration: type: integer format: int64 description: Tempo para expirar o token em segundos responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /authentication/events/loggedOut: post: description: Informa que um usuário efetuou logout no sistema x-senior-event: true tags: – Events 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 /authentication/events/applicationLoggedOut: post: description: Informa que uma aplicação efetuou logout no sistema x-senior-event: true tags: – Events 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 /authentication/events/tokenRefreshed: post: description: Informa que o token de um usuário foi atualizado x-senior-event: true tags: – Events 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 format: date-time description: Data e hora do login tokenExpiration: type: integer format: int64 description: Tempo para expirar o token em segundos responses: 200: description: OK default: description: Error response schema: #/definitions/genericErrordefinitions: upDown: description: type: string enum: – UP – DOWN externalAuthProvider: description: Tipos de provedores externos de autenticação type: string enum: – SAML authType: description: Tipo de autenticação type: string enum: – G7 – G5 – LDAP – SAML authMode: description: Modo de autenticação, podendo ser SENIOR_IDENTITY, LEGACY ou SAML type: string enum: – SENIOR_IDENTITY – LEGACY – SAML userOTPAuthStatusDTO: description: Status da configuração da autenticação OTP de um usuário. type: string enum: – UNCONFIGURED – CONFIGURED – RESETTED userNotificationKind: description: User notification kind. type: string enum: – Operational – Management – News userNotificationPriority: description: User notification priority. type: string enum: – Error – Alert – None eventEmailFormat: description: Format of the email type: string enum: – HTML – PLAIN_TEXT checkData: description: Dados do healthcheck type: object required: – name – status properties: name: type: string description: Nome do healthcheck status: type: string allOf: – #/definitions/upDown description: Status do healthcheck OTPAuthenticationConfig: description: Configuração do fator de autenticação OTP (One time password) type: object required: – emailSubject – emailBody properties: enabled: type: boolean description: Indica se a autenticação com o fator One Time Password está habilitada para o tenant.\nSe for true, todos os usuários irão utilizar o segundo fator de autenticação, a não ser que seja configurado explicitamente para algum usuário não utilizar. default: false maxAttempts: type: integer format: int64 description: Número máximo de tentivas para validar um token OTP. Ao atingir o número máximo de tentativas, o usuário será bloqueado. O valor padrão é 3 tentativas. ATENÇÃO: por enquanto esse valor não é utilizado. default: 3 emailSubject: type: string description: Assunto do e-mail que será enviado para o usuário, ao solicitar a configuração de MFA emailBody: type: string description: Corpo do e-mail que será enviado para o usuário, ao solicitar a configuração de MFA.\nÉ possível informar os placeholders ${link}, ${nome} e ${usuario}, que representam respectivamente o link para acessar a página de configuração, o nome completo do usuário e o nome do usuário usado no login. configTokenDuration: type: integer format: int64 description: Tempo de duração (em minuitos) do token que é enviado no link do e-mail com as instruções para o usuário configurar a chave secreta no Google Authenticator.\nÉ necessário um tempo limite pois com esse token é possível obter a chave secreta do usuário.\nA chave secreta é uma informação sensível, que se estiver em posse de outra pessoa, essa pessoa poderá fazer login no lugar do usuário caso descubra sua senha.\nO valor padrão é 30 minutos. default: 30 userOTPAuthConfig: description: Configuração do fator de autenticação One Time Password de um usuário específico. type: object required: – userId – completeUserName – username – authenticationType – enabled properties: userId: type: string description: Identificador único do usuário completeUserName: type: string description: Nome completo do usuário username: type: string description: Nome da conta do usuário authenticationType: type: string allOf: – #/definitions/authType description: Tipo de autenticação do usuário enabled: type: boolean description: Indica se a autenticação MFA com o fator One Time Password está habilitada para o usuário. changePasswordSettings: description: Configurações de redefinição de senha. 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: description: Configurações de lembrar-me. 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 format: int64 description: Tempo de vida (em horas) do cookie ao marcar a opção lembrar-me. loginProviders: description: Provedores de login. type: object properties: saml: type: object allOf: – #/definitions/samlProvider description: Provedor de login SAML samlProvider: description: Provedor de login SAML type: object required: – url properties: url: type: string description: Url para realizar login userEnableOTPAuth: description: Configuração para habilitar a autenticação com o fator One-time password para um usuário. type: object required: – userId – enabled properties: userId: type: string description: Identificador único do usuário enabled: type: boolean description: Indica se a autenticação MFA com o fator One-time Password deve ser habilitada ou não para os usuário. loginMFAInfo: description: Informações retornadas na primitiva de login quando o usuário utiliza autenticação multifator. 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: type: string allOf: – #/definitions/userOTPAuthStatusDTO description: Status da configuração da autenticação multifator por parte do usuário. Se for UNCONFIGURED ou RESETTED, deverá ser chamado a primitiva que envia um e-mail com as instruções para a configuração do MFA. tenant: type: string description: Nome do tenant resetPasswordInfo: description: Informações retornadas na primitiva de login quando o usuário precisa alterar a senha após efetuar login 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 expiredPassword: type: boolean description: Indica se a senha está expirada passwordExpiryAt: type: string format: date-time description: Data da expiração da senha userIdentityMigrationInfo: description: Informações necessárias da migração de identidade do usuário type: object required: – tenantName – tenantDomain – username – fullName – email – blocked properties: tenantName: type: string description: Nome do tenant que o usuário pertence tenantDomain: type: string description: Domínio do tenant que o usuário pertence username: type: string description: Username do usuário fullName: type: string description: Nome completo do usuário email: type: string description: E-mail do usuário blocked: type: boolean description: Informa se o usuário está bloqueado mfaSecret: type: string description: Secret cadastrada para o usuário. Retorna null se não existir. shouldConfigureMfa: type: boolean description: Informa se deverá forçar o usuário a configurar o MFA notifyUserEventPayload: description: Represents a regular user event notification payload discriminator: _discriminator type: object required: – notificationKind – notificationPriority – notificationSubject – notificationContent – sourceDomain – sourceService – destinationUser – _discriminator properties: notificationClass: type: string description: Class of notification notificationOrigin: type: string description: Origin of notification. Free text. Optional. notificationKind: type: string allOf: – #/definitions/userNotificationKind description: Notification kind. notificationPriority: type: string allOf: – #/definitions/userNotificationPriority description: Notification priority. notificationSubject: type: string description: Notification subject. notificationContent: type: string description: Notification content. sourceDomain: type: string description: Domain that generates the notification. sourceService: type: string description: Service that generates the notification. destinationUser: type: string description: Username of the destination user. link: type: string description: Notification link _discriminator: type: string description: emailNotifyUserEventPayload: description: Represents an email notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – from properties: from: type: string description: Email sender address sendTo: type: array items: type: string description: Additional recipients to send the email to format: type: string allOf: – #/definitions/eventEmailFormat description: Email format pushNotifyUserEventPayload: description: Represents a push notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – applicationId properties: applicationId: type: string description: Apple/Google application id blobReference: description: Default blob reference type. Every service defines its own. type: object required: – targetObjectId properties: domainName: type: string description: The domain the blob belongs to. serviceName: type: string description: The service the blob belongs to. targetObjectId: type: string description: The basic id of the blob. targetCopyId: type: string description: The id of the blob copy. basicErrorPayload: description: Default error payload type. Every service defines its own. type: object properties: message: type: string description: The user-facing error message, if any. errorCode: type: string description: The program-accessible (and service-specific) error code. dependency: description: Represents a service dependency type: object required: – domain – service – version properties: domain: type: string description: Domain of the dependency service service: type: string description: Name of the dependency service type: string description: Version of the dependency service 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