使用带有 Cordova 的 azure-mobile-apps 刷新 Google 令牌
Refresh Google Token using azure-mobile-apps with Cordova
如何使用带有 Cordova 的 azure-mobile-apps 刷新 Google 令牌?
据我了解,我需要使用“access_type=offline”或“/.auth/refresh”。但是,我不确定如何实现这些。 下面是我的尝试 returns 403 – Forbidden:
//var url = AzureDbSvc.client.applicationUrl + '/.auth/me'; /* Note - This Works */
var url = AzureDbSvc.client.applicationUrl + '/.auth/refresh';
var headers = new Headers();
headers.append('X-ZUMO-AUTH', AzureDbSvc.client.currentUser.mobileServiceAuthenticationToken);
fetch(url, { headers: headers })
.then(function (data) {
console.log(data.status + ' : ' + data.statusText); //<<-- 403 : Forbidden
...
});
非常感谢任何帮助!
调用 /. 时是否看到刷新令牌?auth/me?必须存在刷新令牌才能使 /.auth/refresh API 正常工作。
顺便说一句,您可以通过启用应用程序日志记录来查看此类错误的详细信息。此处有更多详细信息:https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-enable-diagnostic-log。让我们知道这些细节是什么,我们可以帮助弄清楚如何让场景发挥作用。
谢谢克里斯!以下有效,但如果您发现任何问题或是否可以改进,请告诉我...
// Initial google login
AzureDbSvc.client.loginWithOptions('google', { parameters: { access_type: 'offline' } })
.then(function (token) {...});
// Refresh token request
var headers = new Headers();
headers.append('X-ZUMO-AUTH',
AzureDbSvc.client.currentUser.mobileServiceAuthenticationToken);
fetch(url, { headers: headers })
.then(function (data) {
console.log(data.status + ' : ' + data.statusText); //<<== 200 : OK
var user_json = data.json();
console.log('user_json:' + user_json);
return user_json;
}).then(function (refreshToken) {...});
如何使用带有 Cordova 的 azure-mobile-apps 刷新 Google 令牌?
据我了解,我需要使用“access_type=offline”或“/.auth/refresh”。但是,我不确定如何实现这些。 下面是我的尝试 returns 403 – Forbidden:
//var url = AzureDbSvc.client.applicationUrl + '/.auth/me'; /* Note - This Works */
var url = AzureDbSvc.client.applicationUrl + '/.auth/refresh';
var headers = new Headers();
headers.append('X-ZUMO-AUTH', AzureDbSvc.client.currentUser.mobileServiceAuthenticationToken);
fetch(url, { headers: headers })
.then(function (data) {
console.log(data.status + ' : ' + data.statusText); //<<-- 403 : Forbidden
...
});
非常感谢任何帮助!
调用 /. 时是否看到刷新令牌?auth/me?必须存在刷新令牌才能使 /.auth/refresh API 正常工作。
顺便说一句,您可以通过启用应用程序日志记录来查看此类错误的详细信息。此处有更多详细信息:https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-enable-diagnostic-log。让我们知道这些细节是什么,我们可以帮助弄清楚如何让场景发挥作用。
谢谢克里斯!以下有效,但如果您发现任何问题或是否可以改进,请告诉我...
// Initial google login
AzureDbSvc.client.loginWithOptions('google', { parameters: { access_type: 'offline' } })
.then(function (token) {...});
// Refresh token request
var headers = new Headers();
headers.append('X-ZUMO-AUTH',
AzureDbSvc.client.currentUser.mobileServiceAuthenticationToken);
fetch(url, { headers: headers })
.then(function (data) {
console.log(data.status + ' : ' + data.statusText); //<<== 200 : OK
var user_json = data.json();
console.log('user_json:' + user_json);
return user_json;
}).then(function (refreshToken) {...});