Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure ad b2c 如何在AAD B2C中添加Slack作为身份提供商?_Azure Ad B2c_Slack - Fatal编程技术网

Azure ad b2c 如何在AAD B2C中添加Slack作为身份提供商?

Azure ad b2c 如何在AAD B2C中添加Slack作为身份提供商?,azure-ad-b2c,slack,Azure Ad B2c,Slack,我想使用AAD B2C将Slack作为身份提供商添加到我的应用程序中。是否有任何关于如何构建此技术配置文件的示例 我可以创建一个技术配置文件来连接Slack,但是我在发送用户范围参数而不是范围参数时遇到了问题。OAuth2技术概要文件只支持“scope”参数,我无法找到发送“user_scope”的方法。 我还可以使用不包含“v2”的端点进行连接,但我不确定这是正确的方法 这是我现在在ClaimsProvider中使用的技术配置文件。我有一个多租户的索赔人。根本没有修改依赖方的松弛 &l

我想使用AAD B2C将Slack作为身份提供商添加到我的应用程序中。是否有任何关于如何构建此技术配置文件的示例

我可以创建一个技术配置文件来连接Slack,但是我在发送用户范围参数而不是范围参数时遇到了问题。OAuth2技术概要文件只支持“scope”参数,我无法找到发送“user_scope”的方法。 我还可以使用不包含“v2”的端点进行连接,但我不确定这是正确的方法

这是我现在在ClaimsProvider中使用的技术配置文件。我有一个多租户的索赔人。根本没有修改依赖方的松弛

    <TechnicalProfile Id="Slack-OAUTH">
      <DisplayName>Slack</DisplayName>
      <Protocol Name="OAuth2" />
      <Metadata>
        <Item Key="ProviderName">slack</Item>
        <Item Key="authorization_endpoint">https://slack.com/oauth/v2/authorize</Item>
        <Item Key="AccessTokenEndpoint">https://slack.com/api/oauth.v2.access</Item>
        <Item Key="ClaimsEndpoint">https://slack.com/api/users.identity</Item>
        <Item Key="HttpBinding">POST</Item>
        <Item Key="UsePolicyInRedirectUri">0</Item>
        <Item Key="client_id">ClientID</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="client_secret" StorageReferenceId="REFERENCE_TO_SECRET_IN_B2C_KEYS" />
      </CryptographicKeys>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="user_scope" DefaultValue="identity.basic" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="slack" />
        <OutputClaim ClaimTypeReferenceId="user" />
        <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="GetIdClaimFromJson" />
        <OutputClaimsTransformation ReferenceId="GetNameClaimFromJson" />
        <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
        <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
        <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
    </TechnicalProfile>

松弛的
松弛的
https://slack.com/oauth/v2/authorize
https://slack.com/api/oauth.v2.access
https://slack.com/api/users.identity
邮递
0
客户
对slack的调用起作用了,我得到了一个代码并被重定向到aadb2c,但随后我得到了一个异常。将策略置于开发模式以将日志放到App Insights中,并收到一个异常,该异常表示:收到了无效的OAuth响应:“{0}”。
'Message':'dictionary中不存在给定的键','Data':{}​

要从Slack帐户为用户启用登录,您需要创建Slack应用程序项目

  • 使用您的帐户凭据登录到
  • 选择创建新应用程序
  • 输入一个应用程序名称,然后选择一个开发松弛工作区
  • 选择创建应用程序
  • 应用程序凭据下,复制客户端ID客户端机密的值。您将需要两者来将Slack配置为租户中的身份提供者。客户秘密是一种重要的安全凭证
  • 在功能下,选择OAuth和权限
  • 添加新的重定向URL,输入
    https:/your tenant name.b2clogin.com/your tenant name.onmicrosoft.com/oauth2/authrep
    。 将您的租户名称替换为您的租户名称。即使在Azure AD B2C中使用大写字母定义了租户,输入租户名称时也需要使用所有小写字母
  • 单击保存URL
  • 创建策略密钥 您需要存储以前在Azure AD B2C租户中记录的客户端机密

  • 登录到
  • 通过单击顶部菜单中的目录和订阅过滤器并选择包含您的租户的目录,确保您正在使用包含Azure AD B2C租户的目录
  • 选择Azure门户左上角的所有服务,然后搜索并选择Azure广告B2C
  • 在概览页面上,选择身份体验框架-预览
  • 选择策略键,然后选择添加
  • 对于选项,选择
    手动
  • 为策略键输入一个名称。例如,
    SlackSecret
    。前缀
    B2C\u 1A\u
    将自动添加到密钥的名称中
  • 机密中,输入您以前录制的客户机密
  • 对于密钥用法,选择
    签名
  • 单击创建
  • Slack索赔提供方如下所示:

    
    使用您的帐户登录
    JWT
    https://slack.com/api/oauth.access
    https://slack.com/oauth/authorize
    授权标头
    https://slack.com/api/users.identity
    你的Slack应用注册客户端ID
    邮递
    代码
    identity.basic
    假的
    
    和支持性声明:


    要从Slack帐户为用户启用登录,您需要创建Slack应用程序项目

  • 使用您的帐户凭据登录到
  • 选择创建新应用程序
  • 输入一个应用程序名称,然后选择一个开发松弛工作区
  • 选择创建应用程序
  • 应用程序凭据下,复制客户端ID客户端机密的值。您将需要两者来将Slack配置为租户中的身份提供者。客户秘密是一种重要的安全凭证
  • 在功能下,选择OAuth和权限
  • 添加新的重定向URL,输入
    https:/your tenant name.b2clogin.com/your tenant name.onmicrosoft.com/oauth2/authrep
    。 将您的租户名称替换为您的租户名称。即使在Azure AD B2C中使用大写字母定义了租户,输入租户名称时也需要使用所有小写字母
  • 单击保存URL
  • 创建策略密钥 您需要存储以前在Azure AD B2C租户中记录的客户端机密

  • 登录到
  • 通过单击顶部菜单中的目录和订阅过滤器并选择包含您的租户的目录,确保您正在使用包含Azure AD B2C租户的目录
  • 选择所有服务i