Oauth 2.0 Oauth 2.0--作为身份验证服务器的WSO2 Identity server--生成访问令牌的问题
我在使用WSO2 identity server作为身份验证服务器生成oauth访问令牌时遇到问题。未生成访问令牌 我已按照以下url中的步骤进行操作- 我加入了自定义的AuthServer身份验证,而不是yahoo身份验证的第二级。此AuthServer代码负责处理OAuth 2.0令牌和客户端详细信息 程序流程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
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请帮助解决问题。您是否尝试使用“授权类型”:“授权码” 示例(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)