我已遵循 此 Microsoft 指南。
我创建了一个全新的 Blazor WebAssembly 独立应用程序。对于身份验证,我选择“个人帐户”,并且还包含示例页面。这给了我一个几乎可以使用 OIDC 的项目,我所要做的就是使用我自己的 Google 配置更新 appsettings.json 文件。这是我的价值观:
{
"Local": {
"Authority": "https://accounts.google.com/",
"ClientId": "***.apps.googleusercontent.com",
"PostLogoutRedirectUri": "https://localhost:7029/authentication/logout-callback",
"RedirectUri": "https://localhost:7029/authentication/login-callback",
"ResponseType": "id_token"
}
}
登录有效,但注销仅部分有效。如果我刷新页面,它会再次登录。我在这里缺少什么,我必须做什么才能让用户选择何时重新登录?
“身份验证/注销”仅清除本地状态,但不会结束 google 提供程序会话。您可以尝试通过修改 LoginDisplay.razor 来完全注销
public void BeginLogOut()
{
//Navigation.NavigateToLogout("authentication/logout");
Navigation.NavigateTo("https:accounts.google.com/logout", true);
}