c# - 在 API 上以 AD B2C 匿名身份进行身份验证

标签 c# azure devops azure-ad-b2c

我正在 Azure AD B2C 上创建自定义策略以进行注册,因此我需要在用户注册时检查域是否已注册,我正在尝试使用 Azure 功能来执行此操作,但我不知道如何操作为了在此函数中进行身份验证,我不希望将此 azure 函数保持匿名,因为任何人都可以访问并知道公司是否在我的应用程序上注册

有什么想法或有用的文档吗?谢谢!

最佳答案

要了解如何保护 Azure 功能,请参阅 Microsoft docs here 。滚动到页面中的授权级别标题。

  • 根据您的情况,您可以将function 设置为授权级别。您将能够从 azure 门户复制 azure 功能的功能 key 。
  • 使用复制的策略 key 值在 Azure AD B2C 中创建策略 key (策略 key 引用 here )。
  • 使用策略 key 从自定义策略调用端点。
<TechnicalProfile Id="RestApi-DummyAzureFunctionCall">
    <DisplayName>DummyAzureFunctionCall</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="ServiceUrl">{Settings:FunctionsAppUrl}/api/company?name={companyName}</Item>
        <Item Key="AuthenticationType">ApiKeyHeader</Item>
        <Item Key="SendClaimsIn">Url</Item>
        <Item Key="AllowInsecureAuthInProduction">true</Item>
    </Metadata>
    <CryptographicKeys>
        <Key Id="x-functions-key" StorageReferenceId="{Settings:FunctionsAppApiKeyName}" />
    </CryptographicKeys>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="comapanyName" />
    </InputClaims>
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="isRegistered" />
    </OutputClaims>
</TechnicalProfile>
  • {Settings:FunctionsAppApiKeyName} 替换为 Azure AD B2C 中的策略 key 名称。

关于c# - 在 API 上以 AD B2C 匿名身份进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74366007/

相关文章:

azure - 当文件到达 azure blob 存储时如何调用 POST Web api,并将文件发布到 api?

azure - 禁用 Azure ARM 模板中的参数提示

c# - 如何通过 P/Invoking 在 Windows 8/8.1 中以编程方式更改视觉主题?

c# - 保持连接事件以从 .csv 文件读取批量数据

azure - VirtoCommerce Clickone azure 设置问题

.net命令列表包--在azure管道中格式化json

docker - 在 Dockerfile 中为 LABEL 传递一个 ENV 变量

devops - 我们如何有条件地运行 CircleCI 工作流?

c# - 如何从 List<T> 获取 IEnumerable<T>?

c# - 安装项目 Visual Studio 和 Nuget