2

我已按照.NET Quickstart教程從Google Drive獲取驅動器名稱列表。如何將已認證的用戶更改爲Google Drive API

此代碼工作正常。然而,我想知道我是否可以再次強制認證(類似註銷,但我認爲谷歌不是這樣稱呼的)。

目前我需要等待同意超時才能選擇另一個帳戶。

(如果我第一次啓動應用程序或前一個會話超時,系統會提示Google同意頁面,以便我可以選擇或添加特定帳戶進行身份驗證)。

我使用的是OAuth2,平臺是.NET窗體窗體應用程序。

回答

0

它可以幫助您發佈所有代碼,然後鏈接您遵循的教程。

Google API dotnet客戶端庫的工作方式是將用戶憑據存儲在計算機上的數據存儲中。在下面的代碼段中,「用戶」表示用戶憑據,如果您更改了用戶憑據,您可以強制它在用戶之間交換。如果用戶沒有憑據,則會彈出並再次要求您進行身份驗證。要充分認識我店如何FILEDATA作品建議您閱讀我的教程關於這個問題Google .net – FileDatastore demystified

credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       GoogleClientSecrets.Load(stream).Secrets, 
       Scopes, 
       "user", 
       CancellationToken.None, 
       new FileDataStore(credPath, true)).Result; 

在端Oauth的世界真的有沒有這樣的事情作爲退出。從技術上講,您可以訪問用戶數據,直到他們移除訪問權限或刷新令牌發生了什麼情況。您需要更改代碼中的「用戶」,以使其顯示用戶已註銷您的網站。唯一接近此的是Revoking令牌,它基本上可以刪除您對用戶數據的訪問權限。如果用戶選擇再次登錄,用戶將不得不再次驗證您的應用程序。

+0

我沒有複製代碼的原因僅僅是因爲它實際上與提供的鏈接相同......你的意思是如果我將字符串「用戶」更改爲將在登錄期間定義的動態時間戳我的系統。它會做的伎倆,以便重新認證將在用戶登錄或重新登錄後再次完成?謝謝 – SKLTFZ

+0

是的技術上它會。但是你的計算機上會有很多數據存儲。而且還有一個以上用戶的潛力。 – DaImTo

+0

我真的可以通過在登錄/註銷期間使用時間戳方法來實現重新認證。然而,你hgave顯示你的關注,你有更好的解決方案嗎? (我認爲大多數人使用這個API實際上確實需要一種方便的方式來實現重新認證,而令人驚訝的是沒有太多的文章談論) – SKLTFZ