0

我正在使用OAuth2Decorator以確保在調用RequestHandler的get()方法之前所需的憑證存在。此流程正常工作。在App Engine中使用裝飾器時刷新Oauth2範圍

現在,由於我需要額外的範圍,我只是將其添加到OAuth2Decorator中的範圍列表。但是,這不會觸發任何身份驗證流程。由於這個原因,新添加的作用域在get()方法中不可用。

此時,調用需要添加範圍的外部API時,出現我沒有足夠權限的錯誤。

我發現的一個工作解決方案是手動刪除我的應用程序的權限。但是,我不能指望我的用戶也會這樣做,以便訪問該網站。

https://security.google.com/settings/security/permissions?pli=1

另一種選擇是切換到一個新的客戶端ID,從而使認證流程自動觸發。

有沒有更好的方法?

回答

1

我不知道你是否認爲這樣做更好,但你可以通過編程來完成。除了存在以下情況外,試用電話除外:

except HttpError: 
    creds = decorator.get_credentials() 
    creds.revoke(decorator.http()) 
    self.redirect("/") 

它會導致用戶被刪除,然後重定向回auth。只給它一個快速測試,所以你可能需要稍微微調一下。

相關問題