Maui webauthenticator с Microsoft SSO не возвращает Idtoken / AccessToken не является JWTC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Maui webauthenticator с Microsoft SSO не возвращает Idtoken / AccessToken не является JWT

Сообщение Anonymous »

Я следую этому руководству по реализации Maui webauthenticator:
https://learn.microsoft.com/en-us/dotne ... bs=Android await request.httpcontext.authenticateasync (smech); < /code>: < /p>

Токен доступа в свойствах Authresult не является JWT (мне нужно декодировать его, чтобы создать новую утверждение для приложения Maui). Можно сделать то же самое, что и точка 1, учитывая, что он jwt) < /li>
< /ol>
У меня также есть проект веб -приложения, например, предложенную документацию, и это его конфигурация: < /p>

Код: Выделить всё

builder.Services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie()
.AddMicrosoftAccount(options =>
{
options.ClientId = "ClientId";
options.ClientSecret = "ClientSecret";
options.SaveTokens = true;
options.CallbackPath = "/mobileauth";

options.Scope.Clear();
options.Scope.Add("openid");
options.Scope.Add("profile");
options.Scope.Add("email");
options.Scope.Add("offline_access");
options.Scope.Add("https://graph.microsoft.com/User.Read");
});
< /code>
Это Authcontroller для инициализации потока аутентификации: < /p>
[Route("mobileauth")]
[ApiController]
public class AuthController : ControllerBase
{
const String CallbackScheme = "myapp";

[HttpGet("{scheme}")] // eg: Microsoft, Facebook, Apple, etc
public async Task Get([FromRoute] String scheme)
{
var auth = await Request.HttpContext.AuthenticateAsync(scheme);
var isAuthenticated = auth.Succeeded
|| auth?.Principal is not null
|| (auth?.Principal is not null && auth.Principal.Identities.Any(id => id.IsAuthenticated))
|| (auth?.Properties is not null && !String.IsNullOrEmpty(auth.Properties.GetTokenValue("access_token")));

if (!isAuthenticated)
{
await Request.HttpContext.ChallengeAsync(scheme);
}
else
{
var claims = auth?.Principal?.Claims ?? throw new InvalidOperationException("Claims are required");
var email = claims?.FirstOrDefault(c => c.Type == System.Security.Claims.ClaimTypes.Email)?.Value;
var queryParams = new Dictionary
{
// This token is not JWT and there is not IdToken in Properties
{ "access_token", auth.Properties?.GetTokenValue("access_token") ?? throw new InvalidOperationException("Access token is required") },
{ "refresh_token", auth.Properties.GetTokenValue("refresh_token") ?? String.Empty },
{ "expires_in", (auth.Properties.ExpiresUtc?.ToUnixTimeSeconds() ?? -1).ToString() },
{ "email", email ?? throw new InvalidOperationException("Email is required") }
}
.Where(kvp => !String.IsNullOrEmpty(kvp.Value) && kvp.Value != "-1")
.Select(kvp => $"{WebUtility.UrlEncode(kvp.Key)}={kvp.Value}");

var query = String.Join("&", queryParams);
var url = $"{CallbackScheme}://#{query}";
Request.HttpContext.Response.Redirect(url);
}
}
}
< /code>
Так я использую WebAuthenticator из Maui: < /p>
var authResult = await WebAuthenticator.Default.AuthenticateAsync(
new Uri("https://10.0.2.2:7016/mobileauth/Microsoft"),
new Uri("myapp://"));
Вот как мое приложение настроено в Azure:



Как видите здесь версия токена доступа 2:


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Maui webauthenticator с Microsoft SSO не возвращает Idtoken / AccessToken не является JWT
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Замените «Idtoken» на «Idtoken» Swift Win в Apple, используя Firebase
    Anonymous » » в форуме IOS
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Microsoft.Maui.Authentication.WebAuthenticator Вход в Google продолжает запрашивать выбор учетной записи каждый раз
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Facebook Oauth не перенаправляюсь на мою пользовательскую схему URI в Maui (используя WebAuthenticator)
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Проверьте JWT AccessToken, выпущенный другой услугой
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

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