我正在尝试重现此处提供的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
在授权服务器中配置此授权代码在哪里?
答案 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