Oauth 2.0 - WSO2身份服务器作为身份验证服务器 - 发出生成访问令牌的问题

时间:2016-02-29 12:03:50

标签: oauth-2.0 wso2

我面临使用WSO2身份服务器作为身份验证服务器生成oauth访问令牌的问题。访问令牌未生成。

我已按照以下网址中的步骤操作 - http://wso2.com/library/articles/2015/09/article-how-to-generate-api-manager-access-tokens-using-multi-factor-authentication/ 我没有使用第二级yahoo身份验证,而是包含了我自定义的AuthServer身份验证。此AuthServer代码负责处理OAuth 2.0令牌和客户端详细信息。

计划流程

  1. 我有一个html,其点击链接点击下面的网址: -

    https://localhost:8244/authorize?response_type=code&client_id=CeYYVyMbL2CAfoelSlUlZfFrwSQa&redirect_uri=https://localhost:8443/ClientProj/redirect.html
    

    这里的client_id是API管理器商店中应用程序的client_id。重定向uri是我的示例客户端的URL。

  2. 在上述请求的响应标头中,我收到了授权代码。此授权代码用于获取实际访问令牌,如下所示(POST)

  3. The Postman screenshot of the request

    请帮助解决方案。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用:'grant_type':'authorization_code'?

示例(Python):

 payload = { 'client_id': client_id, 'client_secret': client_secret, 'grant_type': 'authorization_code', 'code': str(code), 'redirect_uri': 'http://localhost:8080/resources/oauth2Callback'} 
    urllib.urlencode(payload) 
    headers = { 'application' : 'x-www-form-urlencoded' } 
    r = requests.post(url, data=payload, headers=headers, verify=verify) 

  # prepare lookup of token using code as input
    url  = "https://myserver.red.com:9443/token"
    payload = { 'key': client_id, 'secret': client_secret, 'grant_type': 'authorization_code', 'code': str(code) }
    urllib.urlencode(payload)
    headers = { 'application' : 'x-www-form-urlencoded' } 
    r = requests.post(url, data=payload, headers=headers)