在一个全新的Blazor WebAssembly独立应用程序中(
dotnet new blazorwasm --auth Individual
),我将呼叫更新为
AddOidcAuthentication()
要添加Google身份验证:
builder.Services.AddOidcAuthentication(options =>
{
// Configure your authentication provider options here.
// For more information, see https://aka.ms/blazor-standalone-auth
builder.Configuration.Bind("Local", options.ProviderOptions);
options.ProviderOptions.Authority = "https://accounts.google.com/";
options.ProviderOptions.RedirectUri = "https://localhost:7167/authentication/login-callback";
options.ProviderOptions.PostLogoutRedirectUri = "https://localhost:7167/authentication/logout-callback";
options.ProviderOptions.ResponseType = "id_token";
options.ProviderOptions.ClientId = Environment.GetEnvironmentVariable("GOOGLE_CLIENT_ID");
});
我能够成功登录(我在SessionStorage中保存了一个令牌,并确保它知道我的名字),但当我注销时,它不会“粘住”。令牌被删除,但当我刷新页面时,令牌会重新出现,应用程序会将我视为再次登录。(我只是在使用
default code
登录和注销。)
我是不是做错了什么,导致我的注销无法“粘贴”?或者我对谷歌身份验证有什么误解?
回购
here
(但除了发布的代码外,我没有做任何更改)。