gpt4 book ai didi

c# - 对于基于微服务的基础架构,应在 Azure B2C 中定义多少个应用程序?

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:15 32 4
gpt4 key购买 nike

在 Azure AD B2C 预览版中,您可以定义应用程序。然后,每个应用程序都会被赋予一个名称、客户端 ID、应用程序 key 和一些设置,以定义是否包含 Web 应用程序/Web api 以及是否允许隐式流。在 Azure AD 的“旧”世界中,您对应用程序之间的交互拥有更大的控制权,例如“此应用程序可以访问图形 api”或“此应用程序可以与此服务通信”,而在新的世界秩序中则不然。看起来不可能(至少从门户 UI 的角度来看)。我的问题是:鉴于 Azure AD B2C 中对微服务数量不断增加的基础设施缺乏明显的控制,在 Azure AD B2C 中为每个服务(实际上是每个环境)创建一个“应用程序”是否有意义?或者整个系统应该共享相同的应用程序(因此客户端ID?)。

最佳答案

(我想对此发表评论,但我目前的分数不允许我这样做)

我们做什么:我们有每个 Web 和 API 应用程序(微服务容器)的客户端 ID。在初始化 API 应用程序的身份验证时,我们将允许与 API 对话的所有客户端 ID 放入 ValidAudiences 中:

    public static string clientIds = ConfigurationManager.AppSettings["ValidClientIds"];

public void ConfigureAuth(IAppBuilder app)
{
TokenValidationParameters tvps = new TokenValidationParameters
{
// This is where you specify that your API accepts tokens only from its own clients
ValidAudiences = clientIds.Split(',')
};

app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
{
// This SecurityTokenProvider fetches the Azure AD B2C metadata and signing keys from the OpenID Connect metadata endpoint
AccessTokenFormat = new JwtFormat(tvps, new OpenIdConnectCachingSecurityTokenProvider(String.Format(aadInstance, tenant, Globals.ODICEndpointVersion, Globals.OIDCMetadataSuffix, commonPolicy)))
});
}

关于c# - 对于基于微服务的基础架构,应在 Azure B2C 中定义多少个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35599213/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com