我接下来要从刷新令牌中获取令牌:https://firebase.google.com/docs/reference/rest/auth/#section-refresh-token
let response = await axios.post(`https://securetoken.googleapis.com/v1/token?key=${FIREBASE_CONFIG.apiKey}&grant_type=refresh_token&refresh_token=${refreshToken}`,
{}, {
data: qs,
headers: { "content-type": "application/x-www-form-urlencoded" }
}
);
它过去曾在起作用,但现在却不起作用。 在Chrome控制台中出现此错误:
从原点“ https://securetoken.googleapis.com/v1/token?key=”开始对“ http://localhost:8080&grant_type = refresh_token&refresh_token =”处的XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否“访问Control-Allow-Origin'标头出现在请求的资源上。
答案 0 :(得分:0)
sideshowbarker是正确的,axios实例的确只有几个HTTP标头可用于其他目的。使用干净的axios实例后,错误消失了。不过,从googleapis返回的错误可能会更加不言自明
答案 1 :(得分:0)
我最近看到了你的问题。 也许我的以下建议会有所帮助
const url : string = `https://securetoken.googleapis.com/v1/token?key=${environment.apiKey}`;
const body : any = {
grant_type : 'refresh_token',
refresh_token : this.userValue.refresh_token
}
return this.http.post<any>(url, body, {withCredentials : false});
致谢