我正在将Auth0集成到现有的客户端项目中,从Auth0登录后我遇到了回调网址的问题。
问题在于,当调用回调URL时,id_token和access_token仅在散列片段中可用,而在查询字符串中不可用。为了让它可用于服务器,我需要在查询字符串中。
我的responseType类型为'code':
this.auth0 = new Auth0({
clientID: clientId,
domain: domain,
responseType: 'code',
callbackURL: 'http://mydevserver:3000/callback'
});
所以问题是,如何在查询字符串中使用id_token和access_token?
https://auth0.com/docs/tutorials/local-testing-and-development#auth0-and-localhost
答案 0 :(得分:1)
如果没有你正在使用的实际代码,我们将不得不做一些猜测,但是当你使用的响应类型为:id_token
和access_token
时,会在哈希片段上返回token
。这是针对基于浏览器的应用程序,因此可以访问URL片段。
如果您的应用程序是传统的服务器端Web应用程序,则应使用code
响应类型,以便将授权代码作为查询字符串的一部分发送到服务器端。然后在服务器端,您可以发出请求以交换实际令牌的代码。
这两种类型的流程在OAuth 2.0规范中定义:
token
响应类型的code
响应类型的作为参考,您可以按照此文档来完成您提到的内容:Integrating a Web App with Auth0