Jwt
Esta é a documentação para o Handshake de Autenticação Authentication JWT. Os passos para configurar o Handshake de JWT Personalization Handshake são ligeiramente diferentes.
Se você não tem um painel, ou se deseja manter seu painel e documentos completamente separados, você pode usar seu próprio fluxo de login para autenticar usuários via JWT na URL.
Implementação
Gere uma chave privada
Vá para suas configurações do painel e gere uma chave privada. Armazene esta chave em algum lugar seguro onde possa ser acessada pelo seu backend.
Crie um fluxo de login
Crie um fluxo de login que faça o seguinte:
- Autentique o usuário
- Crie um JWT contendo as informações do usuário autenticado no formato User
- Assine o JWT com a chave secreta, usando o algoritmo EdDSA
- Crie uma URL de redirecionamento de volta para o caminho
/login/jwt-callback
dos seus documentos, incluindo o JWT como o hash
Configure suas configurações de Autenticação
Retorne às suas configurações do painel e adicione a URL de login às suas configurações de Autenticação.
Exemplo
Eu quero configurar a autenticação para meus documentos hospedados em docs.foo.com
. Eu quero que meus documentos sejam completamente separados do meu painel (ou eu não tenho um painel).
Para configurar a autenticação com o Mintlify, eu vou ao meu painel do Mintlify e gero um segredo JWT. Eu crio uma URL web https://foo.com/docs-login
que inicia um fluxo de login para meus usuários. No final deste fluxo de login, uma vez que eu tenha verificado a identidade do usuário, eu crio um JWT contendo os dados personalizados do usuário de acordo com a especificação do Mintlify. Eu uso uma biblioteca JWT para assinar este JWT com meu segredo do Mintlify, crio uma URL de redirecionamento no formato https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}
, e redireciono o usuário.
Então eu vou às configurações do painel e insiro https://foo.com/docs-login
no campo URL de Login.
Aqui está como o código pode parecer:
Redirecionando Usuários Não Autenticados
Quando um usuário não autenticado tenta acessar uma página específica, o Mintlify preserva o destino pretendido através de um fluxo de redirecionamento:
-
O usuário tenta visitar uma determinada página (por exemplo,
/quickstart
) -
O Mintlify os redireciona para sua URL de login e adiciona o destino original (relativo) como um parâmetro de consulta
redirect
Example:
-
Solicitação original:
https://docs.foo.com/quickstart
-
Redirecionamento para login:
https://foo.com/docs-login?redirect=%2Fquickstart
Após a autenticação bem-sucedida, você pode incluir este mesmo parâmetro redirect
na sua URL de callback JWT para enviar os usuários ao seu destino pretendido:https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}