2

我正在使用Azure App Service進行使用Google和Microsoft帳戶的身份驗證。 我可以訪問的mysite/.auth /我,而不當在。 登錄一個問題,但刷新令牌,/.auth/refresh將返回我以下異常。訪問/.auth/refresh時發生權限錯誤

您沒有權限查看此目錄或頁面。

不確定在Azure刀片中授予的訪問權限。

回答

2

該錯誤消息實際上有點誤導。這並不是說你沒有權限訪問API,而是你的令牌存儲中可能沒有刷新令牌。在用戶登錄過程中獲取刷新令牌的方式與每個提供者有所不同。更多細節在這裏:

https://cgillum.tech/2016/03/07/app-service-token-store/

爲了這個工作,令牌存儲裝置必須包含刷新令牌提供商。如果你不熟悉如何做到這一點,這裏有一些提示:

  • 谷歌:追加的"access_type=offline"查詢字符串參數到您的/.auth/login API調用(如果使用的是移動應用SDK,您可以將其添加到LogicAsync重載之一)。
  • Microsoft帳戶:在Azure管理門戶中選擇wl.offline_access作用域。
  • Azure AD:現在有點複雜,但看看我的下一篇文章enabling Graph API access。按照設置步驟,這也將使您能夠獲得Azure AD的刷新令牌(如果它們不適用於您,可以省略Read directory dataresource=…部分)。計劃將在未來簡化。