Oauth2 Spring安全授权码

时间:2015-10-27 20:35:09

标签: oauth-2.0 spring-boot spring-security-oauth2

我正在尝试重现此处提供的oauth服务器:

https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-v 测试此基本服务器的curl调用应该是:

curl acme:acmesecret@localhost:9999/uaa/oauth/token  \
-d grant_type=authorization_code -d client_id=acme     \
-d redirect_uri=http://example.com -d code=jYWioI

虽然我一直收到以下错误:     授权码无效:jYWioI

在授权服务器中配置此授权代码在哪里?

1 个答案:

答案 0 :(得分:4)

您需要生成新的授权码!

您可以使用授权类型authorization_code或密码

来执行此操作

使用authorization_code:

打开浏览器并访问授权终结点 http://localhost:9999/uaa/oauth/authorize?response_type=code&client_id=acme&redirect_uri=http://example.com

登录过程(登录:用户密码:密码)后,您将被重定向到 http://example.com/?code=CODE< - 这是您应该在下一个请求中使用的代码

现在你得到了令牌:

curl acme:acmesecret@localhost:9999/uaa/oauth/token -d grant_type=authorization_code -d client_id=acme -d redirect_uri=http://example.com -d code=CODE

回复:{" access_token":" eyJhbGciOiJS ....."}

使用密码grantType:

curl acme:acmesecret@localhost:9999/uaa/oauth/token  -d grant_type=password -d username=user -d password=password

回复:{" access_token":" eyJhbGciOiJS ....."}

我建议您阅读有关oauth grantTypes的更多信息,了解哪种方法更适合您的解决方案 https://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified