当前位置: 首页 > 知识库问答 >
问题:

使用B2C租户域时,使用Azure AD B2C保护的Azure函数返回未经授权

巩才捷
2023-03-14
  • Azure AD B2C租户
    • 域名:myTenantName.onmicrosoft.com
      • 应用程序:
        • 应用程序A-API
          • WebApp/API:是
          • 允许隐式流:是
          • 回复Url:https://myazurefunsapi.azurewebsites.net/.auth/login/aad/callback
          • 应用程序ID:https://mytenantname.onmicrosoft.com/applicationa-api
          • 发布的作用域:读取,user_impersonation
          • API访问:访问用户配置文件
          • WebApp/API:是
          • 允许隐式流:是
          • 回复Url:https://myportal.domain.com
          • 应用程序ID:https://mytenantname.onmicrosoft.com/applicationb-portal
          • 发布的作用域:user_impersonation
          • API访问:ApplicationA-Api(读取,代表登录用户访问此应用程序),访问用户配置文件(offline_access,openid)
          • 信号登录
            • 应用程序:applicationa-api
            • 回复Url:https://myazurefunsapi.azurewebsites.net/.auth/login/aad/callback
            • 选择域:
              • MyTenantName.b2Clogin.com
              • login.microsoftonline.com
                null
                null

共有1个答案

鄢飞鸾
2023-03-14

我终于找到了解决办法...

它花了很多时间搜索,但这是GitHub上提出的问题

本质上,我在设置useragentapplication以使用其他人提到的新b2clogin.com域时更改了权限。虽然这没有立即起作用,但我收到了您在注释中提到的相同错误,因此我不得不在配置上设置validateAuthority:false

var msalConfig = {
      auth: {
        clientId: "xxxx",
        authority: "https://xxxx.b2clogin.com/tfp/xxxx.onmicrosoft.com/B2C_xxxx", 
        webApi: 'https://xxxx.azurewebsites.net',
        b2cScopes: this.appConfig.b2cScopes,
        validateAuthority: false
      },
      cache: {
        cacheLocation: "localStorage",
        storeAuthStateInCookie: true
      }
    };
this.clientApplication = new Msal.UserAgentApplication(msalConfig);
 类似资料:
  • 我有Azure Functions,我想使用访问令牌对其进行身份验证。 我已经安排好了以下事情 Angular SPA正在使用Azure应用程序对用户进行身份验证 用于调用图形API的访问令牌,权限在Azure应用程序中设置(第1点) Azure函数具有SPA正在使用的超文本传输协议触发器(API) 目前,API是匿名的,可以从任何地方调用。我想使用图形api使用的访问令牌来保护这些api(第2点

  • 我将Spring Boot 2.2.0与azure-active-directory-b2c-Spring-Boot-starter一起使用。我设法用它(按照他们的教程)获得了一个Thymeleaf网页。现在,我想要一个REST API,它以同样的方式受到保护,因为实际的应用程序将是一个移动应用程序,它对我的Spring Boot后端进行REST调用。 我已经找到了如何使用密码授权流获取令牌的方法

  • 我正在使用一个WildFly应用服务器,它在我的本地机器上托管一个简单的前端-后端组合。前端通过Keycloak JS适配器保护,后端使用Keycloak WildFly适配器。 完整的服务器日志可以在这里获得。由于此问题仅限于本地REST服务的occrus(我可以从公司网络中其他受KeyCloak保护的服务连接和检索数据),我怀疑这是WildFly配置的问题。目前,它是一个干净的安装,只有Key

  • 我努力做到这一点,但完成了一半的工作。 实际上,如果我尝试使用Gmail,我只能从Gmail API读取消息。修改范围我收到错误: HttpAccessTokenRefreshError:unauthorized\u客户端:请求中的未授权客户端或作用域。 这是我的代码: 在我的服务号: 我已将所有可能的资源设置到我的服务帐户“…iam.gserviceaccount.com” 我激活了DWD:DW

  • 几天前,在我们针对Azure AD B2C用户的web应用中使用Azure Active Directory Graph API(不是Microsoft Graph)实现用户管理之前,我能够登录Azure门户,找到Azure Active Directory B2C资源,点击它,并成功认证进入它,以便编辑策略,查看用户列表等。 现在,当我单击它时,屏幕闪烁约 10 次,尝试将我的用户登录到租户。但

  • 我在租户A中有一个Azure广告B2C,在租户B中有一个SPA web应用程序(FE)和一个API函数应用程序(Node.js)。 FE正在使用MSAL要求使用Azure ADB2C登录。我希望在API中设置身份验证以接受FE的承载访问令牌。 我如何配置Azure来实现这一点?