Como é feito o controle de grant types para APIs/Apps?

Os grant types disponíveis para uma API estão listados e podem ser selecionados no momento da criação de um interceptor de OAuth ou de Access Token Validation.

Eles definem o modo de obtenção de um token para aquela API. Por exemplo, caso você defina apenas Authorization Code como grant type, não será possível criar um token por Client Credentials.

Suponha, porém, que você tenha criado um token por Authorization Code. Mesmo que depois você altere o grant type de Authorization Code para Client Credentials, o token gerado permanecerá válido.

Em suma, tenha em mente que:

O controle do grant type é feito somente na sua obtenção, não no seu uso.
Uma vez criado, o token permanece válido até expirar ou ser revogado.
A alteração do grant type não afeta a validade do token.

Observe outros exemplos:

  • Exemplo 1: sua app está vinculada a apenas uma API. Você poderá gerar tokens apenas com os grant types permitidos para aquela API.

  • Exemplo 2: sua app está vinculada a duas APIs: A e B. API A permite apenas a criação de token por Authorization Code e API B, apenas por Client Credentials. A app poderá gerar token por ambos os métodos. Se você gerar, com sucesso, um token por Authorization Code, ele poderá ser usado tanto pela API A como pela API B.

  • Exemplo 3: sua API possui os recursos A e B. /recursoA permite apenas a criação de token por Authorization Code e /recursoB, apenas por Client Credentials. Você poderá gerar token por ambos os métodos. Se você gerar, com sucesso, um token por Authorization Code, ele poderá ser usado tanto pelo /recursoA como pelo /recursoB.

Thanks for your feedback!
EDIT
How useful was this article to you?