.NET: веб-аутентификатор не работает в поддоменеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .NET: веб-аутентификатор не работает в поддомене

Сообщение Anonymous »

В моем приложении MAUI я использую веб-аутентификатор для входа в систему через Google. Для этого я использую .NET 8 основной проект webapi asp.net.
Приложение работало нормально в верхнем домене https://example.com . Проблема возникла, когда я переместил приложение на поддомен https://api.example.com.
Проблема возникает после входа в учетную запись Google, и Google перенаправляет нас на наше приложение https://api.example.com/signin-google?.....

Ошибка: api.example.com в настоящее время не может обработать этот запрос.

Изображение

Код, используемый в program.cs:
builder.Services.AddAuthentication(o =>
{
o.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie()
.AddGoogle(g =>
{
g.ClientId = GoogleClientId;
g.ClientSecret = GoogleClientSecret;
g.SaveTokens = true; a.SaveTokens = true;
});

Код, используемый в контроллере:
[HttpGet(ApiRoutes.MobileAuth.Google)]
public async Task Google()
{
string scheme = "Google";
var auth = await Request.HttpContext.AuthenticateAsync(scheme);

if (!auth.Succeeded
|| auth?.Principal == null
|| !auth.Principal.Identities.Any(id => id.IsAuthenticated)
|| string.IsNullOrEmpty(auth.Properties.GetTokenValue("access_token")))
{
await Request.HttpContext.ChallengeAsync(scheme);
}
else
{
var claims = auth.Principal.Identities.FirstOrDefault()?.Claims;
string access_token = auth?.Properties?.GetTokenValue("access_token") ?? string.Empty;
//other operations
var url = callbackScheme + "://#access_token=" + (access_token.Trim());
Request.HttpContext.Response.Redirect(url);
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... sub-domain
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»