Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/ /

Autenticação Okta JWT (JWT personalizado)

Nesta página

  • Antes de começar
  • Criar um aplicativo Okta e um servidor de autorização
  • Configurar o provedor de autenticação JWT personalizado
  • Faça login com um Okta JSON web token

Você pode configurar o provedor de autenticação JWT customizado para autenticar usuários que você gerencia com o Okta.

Você precisará do seguinte para usar o Okta:

  • Um projeto Okta. Para saber mais, consulte a documentação do Okta.

  • Um aplicativo de serviços de aplicativos que ainda não usa a autenticação JWT customizada. Para saber como criar um novo App Services, consulte Criar um Aplicativo.

  • Se você estiver usando a interface de linha de comando, precisará que a App Services CLI seja instalada e autenticada em seu sistema local.

  • Se você estiver usando a API de administrador, precisará de um par de chaves pública/privada da API de administração do MongoDB Atlas. A chave de API deve ter permissões de Proprietário do Projeto .

Crie um aplicativo no Okta que represente seu aplicativo cliente. O tipo de aplicativo que você cria depende do seu caso de uso. Por exemplo, se você estiver criando um aplicativo de navegador da web, poderá criar um aplicativo de página única (SPA) ou um aplicativo Web no Okta.

Depois de configurar a aplicação, crie um servidor de autorização no Okta que representa seu App Services App. Você pode usar qualquer nome e descrição. Defina o servidor Audience para o ID do aplicativo do cliente do seu aplicativo App Services. Por exemplo, myapp-abcde.

Para saber mais sobre como configurar um aplicativo Okta e um servidor de autorização, consulte Criar um servidor de autorização na documentação do Okta.

Você pode configurar a autenticação JWT personalizada a partir da interface do usuário ou modificando os arquivos de configuração subjacentes diretamente com a CLI ou a API Admin. Escolha seu método preferido abaixo.

No menu de navegação esquerdo, clique em Authentication. Em seguida, clique na aba Authentication Providers e selecione o provedor Custom JWT.

Agora você pode configurar o provedor de autenticação JSON web token Personalizado para trabalhar com seu projeto Okta.

  1. Clique no botão para habilitar o provedor.

  2. Defina Verification Method como Use a JWK URI. Especifique o URI do JWK do servidor de autorização Okta no campo JWK URI .

    O URI do Okta JWK deve ser semelhante ao seguinte:

    https://<Your Okta Domain>/oauth2/<Your Authorization Server ID>/v1/keys

    Observação

    Você pode obter a URI exata do JWK na interface do usuário do Okta seguindo o link Metadata URI para o seu servidor de autorização. Utilize o valor listado no campo jwks_uri .

  3. Defina Metadata Fields para mapear dados do JSON web token para a conta de usuário correspondente do App Services.

    Não é necessário mapear campo de metadados do JSON web token Okta. No entanto, você pode achá-los úteis para obter informações do usuário do Okta em seu aplicativo. Para saber mais sobre campos de metadados do JSON web token e como configurá-los, consulte Campos de metadados personalizados do JSON web token .

  4. Deixe o valor de Audience em branco.

  5. Clique em Save e distribua as alterações

Execute o comando a seguir, substituindo o valor de --remote pela ID do aplicativo cliente do seu aplicativo. Isso baixa uma cópia local dos arquivos de configuração mais recentes do seu aplicativo e navega até o diretório do arquivo de configuração, que usa o mesmo nome do seu aplicativo.

appservices pull --remote "myapp-abcde"
cd myapp

Adicione um novo fornecedor de autenticação de token da web JSON personalizado ao arquivo /auth/providers.json do seu aplicativo. Use a seguinte configuração como modelo. Certifique-se de:

  • Substitua o valor jwkURI pelo URI do JWK do seu servidor de autorização do Okta.

  • Defina campos de metadados JWT personalizados para mapear dados do Okta JWT. Isso é opcional, no entanto, você pode achar o mapeamento de campo útil para obter informações do usuário do Okta em seu aplicativo.

/auth/providers.json
{
"custom-token": {
"name": "custom-token",
"type": "custom-token",
"disabled": false,
"config": {
"audience": [],
"jwkURI": "https://<Your Okta Domain>/oauth2/<Your Authorization Server ID>/v1/keys",
"useJWKURI": true
},
"secret_config": {
"signingKeys": []
},
"metadata_fields": []
}
}

Salve suas alterações em /auth/providers.json. Em seguida, envie o arquivo de configuração atualizado para implantar seu aplicativo:

appservices push

Adicione um novo provedor de autenticação JWT personalizado ao seu aplicativo usando o endpoint Criar um provedor de autenticação.

Use a seguinte configuração como modelo. Certifique-se de:

  • Especifique o $PROJECT_ID e $APP_IDdo seu aplicativo

  • Inclua um token de acesso à API Admin no cabeçalho Authorization .

  • Substitua o valor jwkURI no corpo da solicitação pelo URI do JWK do seu servidor de autorização do Okta.

  • Defina campos de metadados JWT personalizados para mapear dados do Okta JWT. Isso é opcional, no entanto, você pode achar o mapeamento de campo útil para obter informações do usuário do Okta em seu aplicativo.

curl "https://services.cloud.mongodb.com/api/admin/v3.0/groups/$PROJECT_ID/apps/$APP_ID/auth_providers" \
-X "POST" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "custom-token",
"type": "custom-token",
"disabled": false,
"config": {
"audience": [],
"jwkURI": "https://<Your Okta Domain>/oauth2/<Your Authorization Server ID>/v1/keys",
"useJWKURI": true
},
"secret_config": {
"signingKeys": []
},
"metadata_fields": []
}'

Depois de configurar o provedor de autenticação JSON web token Personalizado para usar o Okta, você poderá fazer logon no App Services App com um token de acesso Okta JSON web token.

  1. Faça login do usuário no Okta. Para saber como, consulte a documentaçãorelevante do SDK do Okta para sua plataforma e linguagem de programação.

  2. Obtenha o token de acesso Okta do usuário a partir da resposta de login.

  3. Use o token de acesso Okta para se autenticar com o Atlas App Services. Você pode iniciar uma sessão por HTTP ou fazer login com um SDK. Para saber como, consulte os Docs do seu SDK:

Voltar

Firebase (JWT personalizado)

Próximo

Conectar a fontes de dados MongoDB