Личность: распространяющая претензии вниз по течению услугC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Личность: распространяющая претензии вниз по течению услуг

Сообщение Anonymous »

Я пытаюсь настроить распределенную систему с Duende-IdentityServer. В своей архитектуре я использую BFF (бэкэнд для фронта) в качестве API-Gateway для моего клиента. (Я использую GraphQL с федерацией сшивания и схемы, но я чувствую, что это может быть неактуально для вопроса.) Поскольку я чувствую, что важно, чтобы нисходящие службы контролировали их данные, я бы хотел, чтобы претензии, полученные BFF, были направлены на услуги нисходящих по течению. Я подумал, что что -то вроде прикрепления носителя JWT с претензиями сработает, и надеялся, что таким образом, что мои нисходящие службы не придется связываться с сервером идентификации, чтобы проверить претензии. Я не могу себе представить, что мой случай использования состоит в том, что < /p>
Вот что я пробовал до сих пор: < /p>
В BFF: < /p>

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

//program.cs

builder.Services.AddHttpClient(GraphQLSchemas.Identity, c => c.BaseAddress = new Uri("https://localhost:7500/graphql")).AddUserAccessTokenHandler();
builder.Services.AddGraphQLServer()
.AddRemoteSchemasFromRedis("GraphQL", sp => sp.GetRequiredService())
.ModifyOptions(x => x.RemoveUnreachableTypes = true);
services.AddBff();

services.AddAuthentication(options =>
{
options.DefaultScheme = "Bff-Cookie";
options.DefaultChallengeScheme = "oidc";
options.DefaultSignOutScheme = "oidc";
})
.AddCookie("Bff-Cookie", options =>
{
// set session lifetime
options.ExpireTimeSpan = TimeSpan.FromHours(8);

// sliding or absolute
options.SlidingExpiration = true;

// host prefixed cookie name
options.Cookie.Name = bffOptions.Cookie.Name ;
options.Cookie.Domain = bffOptions.Cookie.Domain;

// strict SameSite handling
options.Cookie.SameSite = SameSiteMode.Lax;
options.Cookie.HttpOnly = true;
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
})
.AddOpenIdConnect("oidc", options =>
{
options.Authority = bffOptions.IdentityServer.Host;

// confidential client using code flow + PKCE
options.ClientId = bffOptions.IdentityServer.ClientId;

options.ResponseType = OpenIdConnectResponseType.Code;
options.ResponseMode = "query";

options.MapInboundClaims = false;
options.GetClaimsFromUserInfoEndpoint = false;
options.SaveTokens = true;
//options.
// request scopes +refresh tokens
options.Scope.Clear();
options.Scope.Add("openid");
options.Scope.Add("profile");
options.Scope.Add("email");
//options.Scope.Add("Administrator");
options.Scope.Add("roles");
options.Scope.Add("offline_access");
options.ClaimActions.MapJsonKey("role", "role", "role");
options.TokenValidationParameters.RoleClaimType = JwtClaimTypes.Role;
});
/// code omitted for brevity
app.UseBff();
< /code>
Если я вхожу в систему в BFF, это претензии, которые я получаю:


Подробнее здесь: [url]https://stackoverflow.com/questions/74023173/identity-propagating-claims-to-downstream-services[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема, распространяющая привилегии от роли до пользователя
    Anonymous » » в форуме MySql
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Parallelflux - параллельное выполнение с несколькими вызовами API вниз по течению
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как правильный способ сделать HTTP -запросы вниз по течению внутри Uvicorn/Fastapi?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Сохранение различных типов вниз по течению для разных операторов
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Сохранение различных типов вниз по течению для разных операторов
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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