[英]How to use Firebase IdToken to generate OAuth Access for Google drive?
更新
在我的 Nativescript-Angular 應用程序中,我使用@nativescript/firebase
插件,它使用 Firebase 身份驗證,在 scope 中,我提供了https://www.googleapis.com/auth/drive
。
firebase
.login({
type: firebase.LoginType.GOOGLE,
googleOptions: {
scopes: ["email", "https://www.googleapis.com/auth/drive"],
},
})
.then((user: firebase.User) => {
//Firebase ID Token
const idToken = value.providers[0].token;
})
.catch((err) => {
console.log(err);
});
在運行應用程序時,它要求用戶登錄以及用戶同意訪問 Google 驅動器。 身份驗證成功后,它會返回一個 Firebase Id 令牌。
在下一步中,應用程序需要訪問用戶的 Google Drive。 據我所知,Google Drive API 需要 OAuth 訪問令牌,而應用程序具有 Firebase 令牌。
https://www.googleapis.com/drive/v3/files
我的問題是:如何生成能夠訪問用戶的 Google 驅動器的 OAuth 訪問令牌? 或者是否有任何替代解決方案?
據我getAuthToken()
,FirebaseNativeScript 庫的getAuthToken()
調用返回一個 ID 令牌。
Firebase 身份驗證用戶不一定有權訪問 Google Drive。 相反,您需要使用用戶的 OAuth2 令牌(與用於登錄 Firebase 的令牌相同)來訪問 Google Drive。 在步驟中,您需要:
如果您已經嘗試過,請編輯您的問題以顯示您嘗試過的內容。
已經解決了。 基本上問題出在不返回 accessToken 的@nativescript/firebase
插件上。 我已經自定義了插件,該插件現在返回我能夠在 Google API 上授權的 accessToken。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.