spring oauth2授权代码流程,VK配置(Vkontakte)

时间:2016-10-16 15:55:13

标签: spring vk spring-oauth2

我使用社交网络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应用程序 - 将非常感谢您的帮助

1 个答案:

答案 0 :(得分:3)

实际上,经过几天的调查,我发现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 = 令牌名称,在我的情况下称为代码 )并用于获取访问令牌。

希望人们面对同样的问题会有所帮助