WSO2是OAuth2资源所有者密码 - 获取访问令牌

时间:2015-08-08 16:10:29

标签: java oauth-2.0 passwords wso2 wso2is

我正在尝试从WSO2身份服务器获取oauth令牌:

curl -v  -X POST -u "GIHAZzRMGNnm3X8XGMwZVoCe2hUa:Uf4wAlQWufaTk320Se2emnJVgvca" -H  "Content-Type: application/x-www-form-urlencoded" -k -d "grant_type=password&username=myemail@shan.com&password=mypwd" https://localhost:9449/oauth2/token

回应是     {"错误":" server_error"," error_description":"发出访问令牌时出错"}

服务器上的异常

  

TID [-1234] [IS] [2015-08-08 11:53:15,692] ERROR {org.wso2.carbon.identity.oauth2.OAuth2Service} - 发出访问令牌时出错。 org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler.issue(AbstractAuthorizationGrantHandler.java:207)org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer.issue(AccessTokenIssuer.java:206)org。 wso2.carbon.identity.oauth2.OAuth2Service.issueAccessToken(OAuth2Service.java:177)org.wso2.carbon.identity.oauth.endpoint.token.OAuth2TokenEndpoint.getAccessToken(OAuth2TokenEndpoint.java:230)org.wso2.carbon.identity。 oauth.endpoint.token.OAuth2TokenEndpoint.issueAccessToken(OAuth2TokenEndpoint.java:108)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43)java.lang.reflect.Method.invoke(Method.java:606)org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)

在IS中,我启用了所有授权类型,Implicit和Client凭据经过测试才能正常工作。此错误仅来自'密码'授权类型。有人能让我知道我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

请使用此格式生成密码授予类型的令牌。

curl -k -d "grant_type=password&username=<username>&password=<password>" -H "Authorization: Basic <Base64Encoded(Consumer key:consumer secret)>, Content-Type: application/x-www-form-urlencoded" https://<host>:8243/token