Getting Started

Experimentando “OAuth 2.0 Authorization Flow” com Authlete.

1. Criando sua conta.

Preencha o formulário de registro e clique em "Sign up".

2. Verifique seu email.

Você receberá um email, descrevendo como experimentar o fluxo OAuth 2.0.
Quando sua conta é criada, já configuramos para você o que é necessário para seu teste inicial (um servidor OAuth e um api cliente).

3. Clique no link "Authorization Endpoint".

No email enviado, o você verá um link "Authorization Endpoint". Ao clicar, você verá uma página de autenticação.

💡 O botão "Authorization Endpoint" do email irá lançar uma requisição de autorização (implicit grant flow) do seu navegador para o endpoint de autorização da Authlete. A URL dessa requisição é:

https://api.authlete.com/api/auth/authorization/direct/<SERVICE_API_KEY>?response_type=token&client_id=<SAMPLE_APP_CLIENT_ID>

4. Autenticando o subject

Use as credenciais (API key e secret) da instancia do serviço.
💡 Para fins de teste, o endpoint de autorização padrão autentica um usuário com a chave e o segredo da API.

5. Clique no botão “Authorize”.

Seu navegador será redirecionado para o endpoint de redirecionamento do cliente que mostra um token de acesso emitido.

Você pode encontrar o mesmo token de acesso na parte do fragmento do URL de destino.

https://api.authlete.com/api/mock/redirection/<SERVICE_API_KEY>#access_token=SNqzo...&token_type=Bearer&expires_in=86400&scope=

Parabéns! Você emitiu com sucesso seu primeiro token de acesso usando Authlete!

Testando o “Authorization Code Grant Flow”

Estendendo o Implicit flow anterior, vamos executar o “Authorization Code Grant Flow” usando Authlete.

1. Insira a seguinte URL (solicitação de autorização) em seu navegador da Web e envie-a.

https://api.authlete.com/api/auth/authorization/direct/<SERVICE_API_KEY>?response_type=code&client_id=<SAMPLE_APP_CLIENT_ID>

Este pedido é o mesmo que o anterior, exceto response_type=code. Subtitua <SERVICE_API_KEY> / <SAMPLE_APP_CLIENT_ID> pelos valores próprios do seu ambiente.

2. Você será direcionado para a página de login. Insira a chave da API e o segredo.

3. Seu navegador será redirecionado para o endpoint de redirecionamento do cliente. Entre o valor para SAMPLE_APP_CLIENT_ID como o client_id do formulário e clique em “Submit”.

4. A resposta do endpoint de Token será mostrado no formato JSON. Deve haver os atributos para "access_token" e "refresh_token".

Implementações de servidores de autorização

Na seção anterior, você experimentou o fluxo usando a implementação padrão do terminal de autorização. Para implantações reais, você tem liberdade de escolha para implementar seu próprio servidor de autorização usando APIs da Web Authlete.

java-oauth-server é um servidor de autorização de código aberto escrito usando APIs da Web do Authlete. É a implementação de referência em Java e um bom ponto de partida para a implementação do seu próprio servidor de autorização.

Esta implementação de referência usa Authlete como seu back-end para que possa eliminar os esforços para configurar um servidor de banco de dados como armazenamento de dados de autorização (por exemplo, tokens de acesso), dados de configuração do próprio servidor de autorização, bem como configurações de aplicativo cliente que se comunicam com o servidor.

Portanto, você pode baixar e iniciar o servidor de autorização apenas com alguns comandos, conforme mostrado abaixo:

$ git clone https://github.com/authlete/java-oauth-server.git
$ cd java-oauth-server
$ vi authlete.properties
$ mvn jetty:run
$ git clone https://github.com/authlete/spring-oauth-server
$ cd spring-oauth-server
$ vi authlete.properties
$ mvn spring-boot:run
$ git clone https://github.com/authlete/csharp-oauth-server
$ cd csharp-oauth-server/AuthorizationServer
$ vi authlete.properties
$ dotnet run
$ laravel new authorization-server
$ cd authorization-server
$ composer require authlete/authlete-laravel
$ php artisan authlete:authorization-server
$ vi config/authlete.php

Se você implementar seu próprio servidor de autorização usando APIs da Web da Authlete, não será necessário implementar um ponto de extremidade de retorno de chamada de autenticação, mas, em vez disso, será necessário personalizar alguns arquivos de origem relacionados à autenticação do usuário final.