【问题标题】:spring oauth2 authorization code flow , configuration for VK (Vkontakte)spring oauth2 授权代码流程,VK 配置(Vkontakte)
【发布时间】:2017-02-25 14:26:31
【问题描述】:

我使用社交网络 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 应用程序 - 将不胜感激

【问题讨论】:

  • 请发布有关您的配置、注册客户端、发送请求和所有相关代码的更多详细信息
  • 也许我不明白你所说的授权码是什么意思,但授权码是你为你的用户生成的东西,而不需要他们进行身份验证。例如,考虑一下您何时进行密码重置。在这种情况下,您将生成一个自动化代码并将其通过电子邮件发送给用户。访问令牌是用户通过使用用户名和密码或授权码成功验证自己所获得的。这是一个巨大的过度简化,但希望能把事情弄清楚一点。
  • @Leon 我更新了问题,我使用社交网络授权服务器 api 获取代码,然后我必须获取访问令牌
  • 我对本教程完全没问题,我必须更加注意调查:spring.io/guides/tutorials/spring-boot-oauth2/…

标签: spring vk spring-oauth2


【解决方案1】:

实际上,经过几天的调查,我发现 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

我面临的唯一问题是提供正确的 token nameuserInfoUri 来检索登录的用户信息。

根据token name,这是您通过授权后获得的授权码名称(response_type=token name,在我的情况下它调用code ) 并用于获取访问令牌。

希望对遇到同样问题的人有所帮助

【讨论】:

    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 2023-04-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2016-11-18
    相关资源
    最近更新 更多