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

Oauth 2.0 Oauth 2.0--作为身份验证服务器的WSO2 Identity server--生成访问令牌的问题,oauth-2.0,wso2,Oauth 2.0,Wso2,我在使用WSO2 identity server作为身份验证服务器生成oauth访问令牌时遇到问题。未生成访问令牌 我已按照以下url中的步骤进行操作- 我加入了自定义的AuthServer身份验证,而不是yahoo身份验证的第二级。此AuthServer代码负责处理OAuth 2.0令牌和客户端详细信息 程序流程 我有一个html,它有一个点击以下url的链接:- https://localhost:8244/authorize?response_type=code&client_id

我在使用WSO2 identity server作为身份验证服务器生成oauth访问令牌时遇到问题。未生成访问令牌

我已按照以下url中的步骤进行操作- 我加入了自定义的AuthServer身份验证,而不是yahoo身份验证的第二级。此AuthServer代码负责处理OAuth 2.0令牌和客户端详细信息

程序流程
  • 我有一个html,它有一个点击以下url的链接:-

    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

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


  • 请帮助解决问题。

    您是否尝试使用“授权类型”:“授权码”

    示例(Python):


    这是使用上面接收到的授权代码刷新访问令牌的url。收到的错误是无效的授权类型。响应为--{“错误描述”:“提供的授权授权无效”,“错误”:“无效的授权”}我正在使用此。。。在这之后,这是我使用授权获取访问令牌所使用的url…..在上面的部分中,观察使用WSO2(Python语言)测试的令牌请求嗨…我检查了上面的Python代码段..一切似乎与我在WSO2 identity server中尝试使用google作为我的身份提供者时一样,我得到了相同的错误。这些是我的值——code=4/1noN-MgU8x2qWkC0xspuCLFToq2SPVflMF9qTtcZWSQ grant_type=authorization_code client_secret=xcLrZa6w9HnUVSPTSoc5t6d02VQa redirect_uri=client_id=eavny9f1wah7uni06lvvn2 clepia,我的令牌请求url与之不同吗?(9443是WSO2所在的端口,8244是暴露API管理器中发布的API的端口。例如。)我尝试了上述两个URL。效果相同。无效的授予类型错误/token始终位于WSO2服务器端,例如,它看起来像这样:。请检查WSO2服务提供商的设置。触发初始登录和回调的HTTP屏幕“>在WSO2 Oauth 2.0服务提供商处配置:回调URL:允许的授权类型:代码,隐式访问令牌URL:授权URL
     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)