Я реализовал аутентификацию Google перейдя на следующий сайт.
https://www.telerik.com/blogs/create-we ... horization
Я успешно реализовал, используя ответ_тип="id_токен". Однако, когда я переключил тип ответа на «code», я смог войти в Google, но вход не удался (при попытке входа произошла ошибка: «При входе произошла ошибка. ')
Код: Выделить всё
program.cs
Код: Выделить всё
builder.Services.AddOidcAuthentication(options =>
{
options.ProviderOptions.Authority = "https://accounts.google.com/";
options.ProviderOptions.ClientId = "~~client id~~";
options.ProviderOptions.RedirectUri = "https://localhost:0000/authentication/login-callback";
options.ProviderOptions.ResponseType = "code";
options.ProviderOptions.DefaultScopes.Add("openid");
options.ProviderOptions.DefaultScopes.Add("profile");
});
Код: Выделить всё
Authentication.razor
Код: Выделить всё
@page "/authentication/{action}"
@code {
[Parameter] public string? Action { get; set; }
private async Task OnLogInSucceeded()
{
~~send the authorization code to the server and receive the access token.~~
}
}
Код: Выделить всё
Login.razor
Код: Выделить всё
@page "/auth/login"
Log in
log in with google
Код: Выделить всё
NavigationManager.NavigateTo("https://accounts.google.com/o/oauth2/v2/auth?~~~")
Я что-то упустил или использовать невозможно
Код: Выделить всё
Подробнее здесь: https://stackoverflow.com/questions/792 ... flow-in-bl