1

當前爲Google身份驗證創建iOS應用程序時,它僅生成一個客戶端ID。需要爲IOS應用程序啓用服務器端訪問

在iOS端,我使用兩個應用程序(IOS和WEb)的客戶端ID來驗證用戶並生成刷新令牌。

根據Google的文檔,生成的訪問令牌是短暫的。因此,無論何時我們需要重新生成用戶的訪問令牌,在服務器端,我們都使用Web-app的客戶端ID和客戶端密鑰。

但是,每當我嘗試使用刷新令牌,客戶端ID(Web應用程序)和客戶端機密(Web-app)生成新的訪問令牌時,它會給出「未授權客戶端」錯誤,這意味着刷新令牌不與客戶端ID和客戶端密鑰同步。

請讓我知道我應該在服務器端使用的client-id和client-secret的組合來重新生成用戶的access_token。此外,任何人都可以引導我步驟生成iOS應用程序和可用於生成刷新令牌,同時驗證用戶的Web應用程序。

回答

1

刷新令牌僅限於特定的客戶端/應用程序。您的iOS和Web應用程序具有不同的客戶端ID,因此一個刷新令牌不能被另一個使用。

在iOS客戶端,只需要客戶端ID和刷新令牌(最初提供給同一客戶端)來獲取新的訪問令牌(針對同一個iOS客戶端)。 iOS客戶端沒有客戶端祕密。如果您使用Google登錄iOS SDK,則會自動爲您處理。

如果您希望客戶端將登錄用戶傳送到後端服務器,請參閱https://developers.google.com/identity/sign-in/ios/backend-auth

如果您的後端服務器本身也需要訪問令牌,請設置服務器端訪問,如:https://developers.google.com/identity/sign-in/ios/offline-access

相關問題