2016-10-16 110 views
1

我使用社交网络Vkontakte作为Oauth2授权服务器。所以,我有以下几个步骤: 1)获取与请求代码与request_type =代码 2)获得的accessToken当我发送的请求访问令牌URIspring oauth2授权码流程,配置为VK(Vkontakte)

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应用程序 - 将是帮助

+0

请张贴更多详细的配置,注册客户端,发送的请求和所有相关的代码 –

+0

也许我不理解你的authoriztion_code的意思,但authorization_code是您为用户生成的内容,而无需他们对自己进行身份验证例如,请考虑您何时执行密码重设。在这种情况下,您将生成一个自动化代码并将其发送给用户。访问令牌是用户通过使用用户名和密码或授权代码成功进行身份验证的用户。这是一个巨大的过分简单化,但希望清理一些东西。 – Leon

+0

@Leon我已更新问题,我使用社交网络授权服务器api获取代码,然后我必须获取访问令牌 –

回答

1

调查后的几天其实感激我想通了,春天的OAuth2完全实现所有的功能和配置,以我的客户端应用程序使用authorization code grant获得从历史Vkontakte访问令牌(认证服务器)

enter image description here

我需要我若为样本Spring Boot and OAuth2 social login simple是填充application.yml与我的授权服务器正确creds做的唯一的事情:

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检索记录的用户信息的唯一问题。

根据标记名称它的授权码传球authoriztion后的GET(RESPONSE_TYPE = 标记名称,它调用代码在我的情况),并用它来获得访问令牌名。

希望这将是有帮助的人面临同样的问题