![](/img/trans.png)
[英]AWS cognito ASP.NET Core MVC throws 'invalid_client'
[英]Error logging out from Cognito in ASP.NET Core MVC
我正在為 ASP.NET Core MVC 應用程序和與 Cognito 的集成而苦苦掙扎。
我已經設法使登錄功能正常工作,但現在正在為退出功能而苦苦掙扎。
我基於 AWS 代碼https://catalog.us-east-1.prod.workshops.aws/workshops/02696107-09ac-4313-a6cb-3798048b07d7/en-US/9-how-to-authenticate -users-in-my-application及其提供的示例代碼。
這具有如下注銷代碼:
public IActionResult SignOut()
{
var callbackUrl = Url.Page("/", pageHandler: null, values: null, protocol: Request.Scheme);
return SignOut(
new AuthenticationProperties { RedirectUri = callbackUrl },
CookieAuthenticationDefaults.AuthenticationScheme, OpenIdConnectDefaults.AuthenticationScheme
);
}
調整我的應用程序后,結果如下:
public IActionResult SignOut()
{
var baseUri = $"{Request.Scheme}://{Request.Host}";
//var callbackUrl = Url.Page("/", pageHandler: null, values: null, protocol: Request.Scheme);
return SignOut(
new AuthenticationProperties { RedirectUri = baseUri },
CookieAuthenticationDefaults.AuthenticationScheme, OpenIdConnectDefaults.AuthenticationScheme
);
}
當我運行該應用程序並嘗試注銷時,注銷似乎正確為 function(因為 cookies 已被刪除)。 但是,Cognito 重定向失敗並顯示以下內容:
調試代碼時可以看到重定向 URI 設置為“https://localhost:7085”
在 AWS 中,App Client 定義如下(即相同的注銷 URL)——因此兩個值相同。
關於我在這里做錯了什么的任何想法?
在我們調用注銷端點后,它將導航用戶,要么導航到logout_uri
參數中指定的位置,要么導航到redirect_uri
參數。 (請參考文檔)
根據錯誤消息(“redirect_mismatch”),這看起來像是在嘗試使用redirect_uri
。 這意味着它試圖在成功注銷后將用戶發送回登錄頁面。
請檢查網絡請求。 而且我相信這個錯誤一定是在登錄重定向期間發生的。 在這種情況下,需要在應用程序客戶端的Allowed callback URLs
中指定redirect_uri
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.