允許重定向站點根以外的 URL
轉到 Providers> ApplicationOAuthProvider.cs 並編輯 ValidateClientRedirectUri 函式。這對我來說是一個很大的問題,好像你不這樣做會有一個非常無益的錯誤資訊。預設情況下,此程式碼會使你網站的任何回撥無效,除非它們是網站的根目錄。你可能希望能夠在控制器中處理回撥,因此你需要將其更改為以下內容:
public override Task ValidateClientRedirectUri(OAuthValidateClientRedirectUriContext context)
{
if (context.ClientId == _publicClientId)
{
Uri expectedRootUri = new Uri(context.Request.Uri, "/");
Uri expectedCallbackUri = new Uri(context.Request.Uri, "/callback");
if (expectedRootUri.AbsoluteUri == context.RedirectUri ||
expectedCallbackUri.AbsoluteUri == context.RedirectUri)
{
context.Validated();
}
}
return Task.FromResult<object>(null);
}