我使用社交网络Vkontakte作为Oauth2授权服务器。所以我有几个步骤: 1)使用 request_type = code 获取带有请求的代码 2)当我发送访问令牌uri的请求时获取accessToken
所以我想使用Spring Oauth2,但是我应该首先获得授权代码,然后访问令牌,我已经尝试添加到application.yml:
authorized-grant-types: authorization_code
它是我的application.yml:
security:
oauth2:
client:
clientId: [clientId]
clientSecret: [clientSecret]
accessTokenUri: https://oauth.vk.com/access_token
userAuthorizationUri: https://oauth.vk.com/authorize
tokenName: access_token
registered-redirect-uri: http://localhost:8080/login
resource:
token-info-uri: http://localhost:8080/user
但实际上它并没有帮助。如果有人面对它并知道如何配置Spring Oauth2应用程序 - 将非常感谢您的帮助
答案 0 :(得分:3)
实际上,经过几天的调查,我发现Spring OAuth2完全实现了我的客户端应用程序的所有功能和配置,使用authorization code grant从Vkontakte(授权服务器)获取访问令牌
如果我将样本Spring Boot and OAuth2 social login simple作为样本,我唯一需要做的就是为我的授权服务器填充 application.yml 并使用正确的信用卡:
security:
oauth2:
client:
clientId: xxxxxxx
clientSecret: xxxxxxxxxxx
accessTokenUri: https://oauth.vk.com/access_token
userAuthorizationUri: https://oauth.vk.com/authorize
tokenName: code
authenticationScheme: query
clientAuthenticationScheme: form
grant-type: authorization_code
resource:
userInfoUri: https://api.vk.com/method/users.get
我面临的唯一问题是提供正确的令牌名称和 userInfoUri 来检索记录的用户信息。
根据令牌名称,它是您在通过授权后获得的授权码的名称(response_type = 令牌名称,在我的情况下称为代码 )并用于获取访问令牌。
希望人们面对同样的问题会有所帮助