我试图通过Postman中的OAuth 2.0使用新的Xero授权来生成访问和刷新令牌,但响应始终是“错误”:“ invalid_client”。
我一直遵循https://developer.xero.com/documentation/oauth2/auth-flow上的说明, 创建用于生成访问令牌所需的验证码,并使用用于创建验证码的相同client_id。
代码请求:
https://login.xero.com/identity/connect/authorize?response_type=code&client_id=81158066DB8B43A9AEF0DDDCCA627E80&redirect_uri=https://google.com&scope=offline_access openid个人资料电子邮件Accounting.transactions&state = 123
回复代码:
访问令牌请求:
标题:
授权:“基本” + base64encode(81158066DB8B43A9AEF0DDDCCA627E80 +“:” + mRbxQuOQ01S8twNg1wxdkwIzrtWN8HGUpYu9wy5kYgFJf2t-)
Content-Type:应用程序/ x-www-form-urlencoded
当我在Postman中使用基本身份验证时,响应为“错误”:“ unsupported_grant_type”。
标题:
授权:基本ODExNTgwNjZEQjhCNDNBOUFFRjBERERDQ0E2MjdFODA6ZE5YY0V2UldqX2YwdVY4X3cyLS1wOTFvZHpOM2doaWN3WnJVM05jUzJjR2VpQVBp
Content-Type:应用程序/ x-www-form-urlencoded
知道我在做什么错吗?
答案 0 :(得分:1)
如果您使用Postman手动完成身份验证流程,请按照以下方法请求访问令牌:
在 Headers 标签上,添加带有已编码的客户端ID和密码(如您所述)的Authorization标头,并将内容类型设置为application / x-www-form-urlencoded
然后在正文标签上,选择x-www-form-urlencoded单选按钮,然后将grant_type设置为authorization_code,设置您的redirect_url和您的代码
所有这些,只有在对身份验证流程进行故障排除时,才应该这样做。如果您只想进行API调用,则只需使用“授权”标签https://learning.getpostman.com/docs/postman/sending_api_requests/authorization/#oauth-20
上的OAuth2帮助器即可答案 1 :(得分:0)
您可以检查您的redirect_uri是否与针对您的应用保存的重定向URI相匹配,您的客户端ID是否正确以及范围是否有效?