其他分享
首页 > 其他分享> > 春季oauth2授权代码流程,用于VK(Vkontakte)的配置

春季oauth2授权代码流程,用于VK(Vkontakte)的配置

作者:互联网

我正在使用社交网络Vkontakte作为Oauth2授权服务器.所以我有几个步骤:
1)使用request_type = code获取带有请求的代码
2)当我发送访问令牌uri的请求时获得accessToken

enter image description here

所以我想使用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(授权服务器)获取访问令牌.

enter image description here

如果我以样本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