【问题标题】:Azure Static Web App Role Functions Not WorkingAzure 静态 Web 应用程序角色功能不起作用
【发布时间】:2022-12-08 22:12:45
【问题描述】:

我已尝试让具有自定义角色功能的 Azure 静态 Web 应用程序在我的环境中工作,正如以下指定的那样:https://learn.microsoft.com/en-us/azure/static-web-apps/assign-roles-microsoft-graph

一切似乎都按预期工作,但是当访问受特定角色限制的页面时,API 似乎没有分配预期的角色。

我已经修改了 API 并删除了所有逻辑来为每个登录的人分配一个角色,但仍然不起作用。这是修改后的代码:

const fetch = require('node-fetch').default;

module.exports = async function (context, req) {
    const user = req.body || {};
    const roles = [];

    roles.push('superuser');

    context.res.json({
        roles
    });
}

这是我的 staticwebapp.config.json 文件:

{
    "auth": {
        "rolesSource": "/api/GetRoles",
        "identityProviders": {
            "azureActiveDirectory": {
                "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
                "registration": {
                    "openIdIssuer": "https://login.microsoftonline.com/44263d43-a2f0-45a8-8f55-9b100ecfb4dc",
                    "clientIdSettingName": "AAD_CLIENT_ID",
                    "clientSecretSettingName": "AAD_CLIENT_SECRET"
                },
                "login": {
                    "loginParameters": ["resource=https://graph.microsoft.com"]
                }
            }
        }
    },
    "routes": [
        {
            "route": "/secured/*",
            "allowedRoles": ["superuser"]
        },
        {
            "route": "/admin/*",
            "allowedRoles": ["administrator"]
        },
        {
            "route": "/contributors/*",
            "allowedRoles": ["contributor", "Contributor"]
        }
    ],
    "responseOverrides": {
        "401": {
            "redirect": "/.auth/login/aad?post_login_redirect_uri=.referrer",
            "statusCode": 302
        }
    }
}

我试过更改配置文件的顺序。我在发布之前的最后一次尝试是删除所有逻辑,只为每个人分配“超级用户”角色。

每个人都可以成功登录,预定义的角色就像一个魅力,但没有人获得“超级用户”角色。

我想弄清楚我做错了什么,或者 Azure 静态 Web 应用程序是否已更改,以便此代码无法像一年前那样工作?

提前谢谢你的帮助。

【问题讨论】:

  • api/GetRoles 通过 POST 动词调用。尝试确保 Azure Functions 正确注册并接受 POST 请求。

标签: azure static-web-apps


【解决方案1】:

@OneClutteredMind 你能否让我知道你是否能够 getRoles() 并按照上面的要求分配自定义角色。如果是这样,你能分享哪些有用吗?

【讨论】:

    【解决方案2】:

    @德米特里·伊万诺夫 您能否让我知道注册 Azure 功能并接受 POST 请求的确切信息,以便调用 api GetRoles。

    【讨论】:

      猜你喜欢
      • 2021-06-23
      • 2020-12-10
      • 2021-12-16
      • 2021-07-13
      • 2019-01-21
      • 1970-01-01
      • 2018-02-28
      • 2021-08-26
      • 2016-05-19
      相关资源
      最近更新 更多