首页 文章

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

提问于
浏览
1

我试图从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

响应是{“error”:“server_error”,“error_description”:“发出访问令牌时出错”}

服务器上的例外

TID [-1234] [IS] [2015-08-08 11:53:15,692] ERROR - 发出访问令牌时出错 . 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 回答

  • 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
    

相关问题