gpt4 book ai didi

Azure 广告 B2C 与 Keycloak

转载 作者:行者123 更新时间:2023-12-02 23:54:38 26 4
gpt4 key购买 nike

我有一个关于 keycloak 和 Azure Ad b2c 的问题。两者都提供不同身份提供商的身份验证。我看到的主要区别在于授权。借助 Keycloak,我可以通过管理门户轻松管理用户的声明和角色。在 Azure B2c 中,通过自定义创建的应用程序维护所有数据(设置自定义策略)看起来非常困难。我错过了什么吗?依赖的应用程序是强烈的云原生(当然是Azure),这就是我考虑azure b2c的原因。依赖应用程序也会强烈使用角色和声明。

您对这两种身份解决方案有何看法(优缺点)。

在 azure b2c 中管理已实现(通过自定义策略)的用户声明和角色的最简单方法是什么? (我必须自己编写单独的管理应用程序还是有简单的解决方案?)

编辑:第一个结论是,现在 azure 需要单独的应用程序来连接到 graphapi(通过休息或使用 sdk)。 Keycloak 内置了它。在这种情况下使用 b2c 有什么优点(对于 c# 开发)?

最佳答案

您不必使用自定义政策即可使用自定义声明。下面是一个例子:

在 B2C 租户上,转到Azure AD B2C> 管理> 用户属性并创建自定义属性;这里是客户端 ID 属性:

enter image description here

然后Azure AD B2C> 策略> 用户流并创建一个流,例如“登录”:

enter image description here

使用推荐的流程:

enter image description here

在流程创建期间的最后一步,您可以指定登录时返回的 jwt token 中将包含哪些声明;选择我们的自定义属性客户端 ID:

enter image description here

然后,当我使用 B2C 帐户登录我的应用程序时,我会返回以下 JWT token :

JWT token 的有效负载,base64 解码:

{
"iss": "https://mytenant.b2clogin.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0/",
"exp": 1664181788,
"nbf": 1664178188,
"aud": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"oid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"sub": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"extension_ClientID": 1,
"name": "myUserName",
"emails": [
"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e297918790a2878f838b8ecc818d8f" rel="noreferrer noopener nofollow">[email protected]</a>"
],
"tfp": "B2C_1_SI",
"nonce": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"scp": "user_impersonation",
"azp": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ver": "1.0",
"iat": 1664178188
}

我已使用 msGraph API 设置了 "extension_ClientID": 1,但这也可以使用注册流程来完成。

关于Azure 广告 B2C 与 Keycloak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73844833/

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