Spring Security OAuth 2.0 - segredo do cliente sempre necessário para a concessão do código de autorização
De acordo com a especificação, as solicitações de um token usando a concessão do código de autorização não precisam ser autenticadas, desde que oclient_id
está incluído na solicitaçãoe aclient_id
é o mesmo usado para gerar o código. No entanto, com a implementação do Spring Security OAuth 2.0, parece que a autenticação básica é sempre necessária no diretório/oauth/token
ponto final, mesmo que nunca tenha sido atribuído um segredo ao cliente.
Parece que há suporte para permitir que clientes sem segredo devido aoisSecretRequired()
método noClientDetails
interface. O que preciso fazer para permitir que clientes sem segredo sejam autenticados no/oauth/token
URL?
4.1.3 Solicitação de token de acesso
O cliente faz uma solicitação ao terminal de token enviando o
seguintes parâmetros usando o "application / x-www-form-urlencoded"
de acordo com o Apêndice B com uma codificação de caracteres UTF-8 no HTTP
solicitar entidade-organismo:
grant_type NECESSÁRIO. O valor DEVE ser definido como "authentication_code".
código NECESSÁRIO. O código de autorização recebido do servidor de autorização.
redirect_uri REQUIRED, se o parâmetro "redirect_uri" foi incluído na solicitação de autorização, conforme descrito na Seção 4.1.1, e seus valores DEVEM ser idênticos.
client_id REQUIRED, se o cliente não estiver autenticando com o servidor de autorização, conforme descrito na Seção 3.2.1.
Se o tipo de cliente for confidencial ou tiver recebido credenciais do cliente (ou outros requisitos de autenticação atribuídos), o
O cliente DEVE se autenticar com o servidor de autorização, conforme descrito
na seção 3.2.1.