Autorização
Para iniciar o fluxo de autorização, você precisa redirecionar o usuário para a URL de autorização. Ela se parece com isto:Indica que você deseja usar o fluxo de autorização por código. É o mais comum e o único suportado pelo Norbaas.
O ID do Cliente que você recebeu ao criar o cliente OAuth 2.0.
A URL para a qual o usuário será redirecionado após conceder acesso aos seus dados. Certifique-se de que ela foi declarada ao criar o cliente OAuth2.
Uma lista de escopos separados por espaço que você deseja solicitar. Certifique-se de que eles fazem parte dos escopos declarados ao criar o cliente OAuth2.

redirect_uri com um parâmetro code na query string. Esse código é de uso único e pode ser trocado por um token de acesso.
Trocar o código por um token
Uma vez que você tenha o código de autorização, você pode trocá-lo por um token de acesso. Para isso, é necessário fazer uma requisiçãoPOST para o endpoint de token. Essa chamada precisa ser autenticada com o Client ID e o Client Secret que você obteve ao criar o cliente OAuth2.
Aqui está um exemplo usando cURL:
access_token permitirá que você faça requisições autenticadas à API em nome do usuário. O refresh_token é um token de longa duração que pode ser usado para obter novos access tokens quando o atual expirar. O id_token é um token JWT assinado contendo informações sobre o usuário, conforme a especificação do OpenID Connect..
Tokens de Acesso de Usuário vs Organização
Nós damos suporte ao conceito de tokens de acesso em nível de organização. Ao contrário dos tokens de acesso padrão, esses tokens não estão vinculados a um usuário, mas sim a uma organização. Eles podem ser usados para fazer requisições operando exclusivamente nos dados de uma organização específica, melhorando a privacidade e a segurança. Para solicitar um token de acesso de organização, é necessário adicionar o parâmetrosub_type=organization à URL de autorização:
/v1/users/benefit não funcionarão com tokens de acesso de organização.
Clientes Públicos
Clientes públicos são aqueles em que o Client Secret (segredo do cliente) não pode ser mantido em segurança, pois estaria acessível ao usuário final. Esse é o caso de aplicações SPA, aplicativos móveis ou qualquer cliente executado no dispositivo do usuário. Nesse caso, e somente se o cliente estiver configurado como um Cliente Público, a requisição para o endpoint de token não exigirá o parâmetroclient_secret. No entanto, o método PKCE será necessário para maximizar a segurança.
