【问题标题】:Role based access to secure rest api involving azure ad b2c对涉及 azure ad b2c 的安全 rest api 的基于角色的访问
【发布时间】:2020-07-01 18:35:49
【问题描述】:

我有一个 azure ad b2c,它将作为我的应用程序用户的广告。

为了在 java spring boot 应用程序中保护 spring rest api,我们需要 rbac。

saw azure 有自定义角色的选项,但它似乎在预览中。所以缺少维护角色的 db 表和其他可用的好工具或依赖项的特权,因此我们不需要自己管理 rbac,而是委托它和如果可能的话,也调用其公开的 api 来添加角色? 我只看到了 auth0,没有别的。有更好的选择吗?

【问题讨论】:

    标签: java azure spring-boot spring-security azure-active-directory


    【解决方案1】:

    目前 AAD B2C 不提供开箱即用的 RBAC 功能。

    在 Azure AD 中,我们可以通过修改应用程序清单中的“groupMembershipClaims”字段来实现它:"groupMembershipClaims": "SecurityGroup"。但它在 Azure AD B2C 中不可用。

    但我们可以利用REST API claims IntegrationMicrosoft Graph。您可以将新的声明类型“组”添加到自定义策略中,并调用 Microsoft Graph 以获取用户组。这是一个example 供您参考。

    其他一些有用的内容:

    Authorize By Group in Azure Active Directory B2C

    UserVoice: Get user membership groups in the claims with AD B2C

    【讨论】:

    • 为了保护我的 API 并登录并决定谁可以访问 api 我一直在查看 microsoft docs。我没有使用 ADAL,但在搜索时我发现 MSAL4J.Mine 是一个弹簧启动示例。我发现两件事。微软文档中的一个 MSAL4J 带有一个弹簧安全示例,其中包括 spring-security-oauth2-autoconfigure。另一个文档使用 azure-active-directory-b2c-spring-boot-starter 依赖项。现在我完全混淆了依赖项似乎不同,我不知道 Spring Boot 启动器依赖项是否是实现 MSAL4j 的另一种方式
    • 最终决定使用 azure-active-directory-spring-boot-starter。让我们看看它带我去哪里
    • 很遗憾,RBAC 解决方案不适用于社交帐户。
    猜你喜欢
    • 2017-11-12
    • 2020-02-06
    • 2018-02-03
    • 1970-01-01
    • 2021-02-12
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多