春季oauth2授权代码流程,用于VK(Vkontakte)的配置
作者:互联网
我正在使用社交网络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应用-将不胜感激
解决方法:
实际上,经过几天的调查,我发现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 = token名称,在我的情况下,它称为代码)并用于获取访问令牌.
希望对人们遇到同样的问题有所帮助
标签:vk,spring-oauth2,spring 来源: https://codeday.me/bug/20191118/2025273.html