标签: azure-ad-b2c

Azure B2C 门户中缺少“身份体验框架”

我有一个 Azure AD B2C 目录,可以在我的应用程序中使用内置策略。我想使用自定义政策来添加我自己的声明。

问题是我找不到可以上传/下载此处引用的“身份体验框架”的 XML 文件的位置:将策略上传到您的租户。缺少“身份体验框架”

显示此功能的目录/订阅是否有一些要求?

azure-ad-b2c

3
推荐指数
1
解决办法
1748
查看次数

可以用我自己的权限使用 MSAL(例如 IdentityServer)

我使用身份服务器设置了自己的身份权限。

我正在运行本机 Windows 应用程序,目前我正在使用IdentityModel 的 OidcClient库来连接权限并获取令牌。

我想添加对 Azure AD 的支持,并且由于我无法在 Azure AD 上设置应用程序以使用HybridWithProofKey流,并且发现了这个MSAL,我决定试一试

在 MSAL 中有一个PublicClientApplication类在其构造函数中接受字符串权限(

当在这个构造函数中传递我的 URL 时,我想象它会使用发现服务并找到正确的端点和它的工作。但令我惊讶的是,这不起作用。

我收到以下错误消息:
AADSTS50049: Unknown or invalid instance. 在 github MSAL 上搜索 AADSTS50049 返回零结果。我已经克隆了该项目并开始调试。

我发现请求被发送到我的授权网址,但在
GET https://login.microsoftonline.com/common/discovery/instance?api-version=1.0&authorization_endpoint=https%3A%2F%2Fmyidentityserverhostname%2Fidentityserver%2Foauth2%2Fv2.0%2Fauthorize HTTP/1.1

此请求在此源中完成,并返回上述错误。

那么,MSAL 是否打算与非 azure 权限一起使用?

azure-active-directory identityserver3 azure-ad-b2c identityserver4 azure-ad-msal

3
推荐指数
1
解决办法
1921
查看次数

Microsoft Graph 是否已经处理 Azure AD B2C 用户 CRUD?

Microsoft Graph 是否已经具有 Azure AD B2C 用户 CRUD 的功能?

我发现了这些相关的问题:

但是两者都有 2017 年的答案,所以我想知道是否已经有我不知道的 Microsoft 更新。我仍然没有在我的搜索中找到。

以下是我迄今为止发现的似乎相互冲突的链接(其他问题中也提到了一些链接)。

(D) 中,它似乎为用户 CRUD 提供了选项,但我不确定它是否仅适用于 Azure AD 而不适用于 Azure AD B2C。

任何帮助表示赞赏。谢谢!


A. Azure AD B2C:使用 Azure AD Graph API(日期:08/07/2017) https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts -graph-dotnet
它说:您必须使用 Azure AD Graph API 来管理 Azure AD B2C 目录中的用户。这与 Microsoft Graph API 不同。在此处了解更多信息

B. 对用户的操作 | 图 API 参考(上次更新:2/12/2018) https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations
它说:我们强烈建议您使用 …

azure-ad-b2c microsoft-graph-api

3
推荐指数
1
解决办法
1000
查看次数

自定义 B2C 策略不支持客户端凭据 Gran 类型

我正在尝试根据我们的策略生成访问令牌,但出现此错误。

AADB2C90086: The supplied grant_type [client_credentials] is not supported.
Run Code Online (Sandbox Code Playgroud)

这是邮递员请求示例

POST /{tenant}/oauth2/token?p=B2C_1A_SignUpOrSignInWithAAD HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=client_credentials&client_id={client_id}&resource=https%3A%2F%2F{app_url}&client_secret={client_secret}
Run Code Online (Sandbox Code Playgroud)

但如果我不使用我们的自定义策略而直接转到 B2C 租户,它就可以正常工作

POST /{tenant}/oauth2/token?api-version=1.0
... same as above
Run Code Online (Sandbox Code Playgroud)

我们的自定义策略中是否缺少某些内容?

azure-active-directory azure-ad-b2c identity-experience-framework

3
推荐指数
1
解决办法
1410
查看次数

在 Azure AD B2C 注册中处理条款和条件

我正在面向公众的应用程序中实施 Azure AD B2C,通过这种方法,新用户注册基本上是在 Azure 上的应用程序“外部”进行的。

我如何强制用户同意我的条款和条件?换句话说,我希望有一个复选框,并且必须强制用户选中它才能继续注册过程。如果用户未选中该复选框,则不应进行注册。

我了解通过 UI 自定义我可以更改注册页面的外观,并且可以有一个突出显示的声明:

单击注册,即表示您同意我们的条款和条件。

我认为如果有一个强制性的复选框会更好。这对 Azure AD B2C 是否可行?

更新:在第 5 步中,我没有看到“自定义属性”——这是屏幕截图: 在此处输入图片说明

更新 2:上传json文件后不允许我保存以进行覆盖。 在此处输入图片说明

azure azure-active-directory azure-ad-b2c

3
推荐指数
1
解决办法
4281
查看次数

更新 Azure B2C 自定义策略中的显示名称

我们正在尝试使用声明转换更新自定义 Azure B2C 策略中的显示名称,但无法使其正常工作。策略执行时没有错误,但显示名称不会更新。

我们不希望用户输入显示名称。

此处回答了类似的问题,但解决方案中提供的转换在将其上传到 Azure 时未通过验证。

这是我们正在使用的更新转换:

  <ClaimsTransformation Id="CreateDisplayNameFromFirstNameAndLastName" TransformationMethod="FormatStringMultipleClaims">
    <InputClaims>
      <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputClaim1" />
      <InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="inputClaim2" />
    </InputClaims>
    <InputParameters>
      <InputParameter Id="stringFormat" DataType="string" Value="{0} {1}" />
    </InputParameters>
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="outputClaim" />
    </OutputClaims>
  </ClaimsTransformation>
Run Code Online (Sandbox Code Playgroud)

还有就是使用了上述转变的样品在这里

azure-ad-b2c

3
推荐指数
1
解决办法
1156
查看次数

如何使用 Owin Katana Logger

我在 Microsoft Owin 项目中的此类文件中看到正在调用记录器

https://github.com/aspnet/AspNetKatana/blob/dev/src/Microsoft.Owin.Security.OpenIdConnect/OpenidConnectAuthenticationHandler.cs

谁能告诉我如何激活它以实际开始在我可以阅读的地方写入日志?

asp.net owin azure-ad-b2c

3
推荐指数
1
解决办法
2878
查看次数

使用 Azure AD B2C 自定义策略登录本地帐户时用户名或密码无效

设想:

当我开始使用 AAD B2C 自定义策略进行测试时,我使用了这个示例: active-directory-b2c-custom-policy-starterpack/SocialAndLocalAccounts/

我参考了这个文档来开始。

我按照这些步骤更改了示例中的一些值,并仔细检查了 client_id 和 resource_id。当我尝试运行注册或登录策略时,我无法使用本地帐户登录并出现错误:(虽然我可以使用社交帐户登录)

无效的用户名或密码

我使用 Fiddler 来捕获流量,这是我遇到错误时的请求和响应:

要求:

POST



https://login.microsoftonline.com/yangsa.onmicrosoft.com/B2C_1A_signup_signin/SelfAsserted?tx=StateProperties=eyJUSUQiOiI1NjMyNTc1OS1lZjFiLTRhNzctYmRkOS1jOGRjZmZhZmUxZGEifQ&p=B2C_1A_signup_signin HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: application/json, text/javascript, */*; q=0.01
X-CSRF-TOKEN: RUF6Zk1MMFBHcVQxeHlNV2x0K2dnN21SVy9aMlN3M1R1WmxSOWdOUXhFTitDaGxOTFJoVGgwWFNLT0lKZ2JCcHdETFR1aUxtNFVDMmp0R2NkOE1RNXc9PTsyMDE4LTA3LTEyVDEwOjMzOjMyLjMyNjM0MTJaOy9IY3JiQmxESUhEcEQ4SWd1SXp6Q1E9PTt7Ik9yY2hlc3RyYXRpb25TdGVwIjoxfQ==
X-Requested-With: XMLHttpRequest
Referer: https://login.microsoftonline.com/yangsa.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1A_signup_signin&client_id=cec7ec64-0a28-4914-ab1a-8f951fd27b1d&nonce=defaultNonce&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=openid&response_type=id_token&prompt=login
Accept-Language: en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: login.microsoftonline.com
Content-Length: 69
Connection: Keep-Alive
Cache-Control: no-cache
x-ms-RefreshTokenCredential: eyJhbGciOiJIUzI1NiIsICJjdHgiOiJ3ejBCZW9uc0NWNkE4bVRNQURzZ29hcnl1bWV5VlFzbyJ9.eyJyZWZyZXNoX3Rva2VuIjoiQVFBQkFBQUFBQURYelozaWZyLUdSYkRUNDV6TlNFRkVoQWRiOXlnU2RyMjVfdzBtUzZaQTB3U2dlWmFNWUNzQmlxUTUyQnBzZ0w5ZUZqeXpPZXduX3MzblFsSnFyUWNsRTNzM205QVEzd0VsRC1OVDNFQ2VDank5SDFFQnVmLTFyRVd6T2JKTFNnc240ODc3SFY3UU15ZUlOZmhfWnFYWE1kMDFSRjUtZVJBWEl1TElmUTA1Ym9sa21wMmM2OTBZdmtzZFE0SEhjOTF2eXh2c2xqcUU2N3RVQ0l4a012Q2Z5UG9fUldLTlRtNUMwOXhVUzRBRFFXWlZLQVdETDJSU1dsT1BHcXBCQnR3Y2ZmTW1HdldZSll2RTZfQU5BQkduNGwwdm9neHB5ek8yVmY1V0hFdUVvUEgzWXcxenQ3UUd3T0lFZWlJMFRneFBtN0ZYempFWUVGd2lwckFYSmxYY3JMQ2M3Q0JpY3ktckRoQmRJaFBaLXFDbWU2SlVhU19HQjZRZzR1QnFzdmlVZjgwRWxoUmZZVnZISXp6R0tEQ1lWOXhmVkd3c3VLOFJaLVQ5dlZ1bGdGX0dqS1J3aWI1NWd2SVo2TkhjRWRXaEtoLXBtRVNRVnpHd3pxWXp3cXVxVUROMFU4ZTh0WmdmY0dsNGR2M2Vrc0NBR3lzSHdqa2RvRGRlc19FemZ2NllpdU1XcUFHbE5rWVFjQnBaRnFacEtjUHlocjhhdzFVSjRHcUtVU29wX2wzblZTVkpCNFpzR1FTaE05ck1RMDhwUFBwOU5DNkF2ZkVxSk14NzNNcHNSUHVEakRBZXlCdDNVNGtxNmpfYk9OaDBRMUVIa09vdlQyTVlsM2h1eFV1SVlZaTlMSFpwX2Z4YkthTEZiMGVmT3ZlN24yM2lzdklCd3FYQk1KdE9HeTZhZ3h4cEFWWUdtMmNQSlk2SVBnNHJVQ0o3MzJueWI4V2NwMVJXSjNnT3BoRXdXVmpNTHNSN0treENBd2pQLWt3d3c1bmxabDJsRk03VXFKRVBhYi1qUlQ3amlCcl9XZ0IyNHRibFlwMkZ6a3dHVWtqRVN2QzlNbk16a1JrV2ZTTUdvUGE5Wk9Hek1adHF5WXA2d0w4VmVENmdoQmlLQ295RE83X3g0ZUcybDhQb0RMdldjUjJJd3RSZ0lQNFVueXRjRXRIbEVRelJuQnBLOEFlVmUzb2p0UklQU00zZTRUUEdBYXc2eEdpTnNMQ09vMVMzUGdiTUxCSUNWUExtSjl5N2EtcktnRmtsVnNJUFlHVmZsZndweG1PQ2dZMS1KWmVWM0NkM2liQU9ydkhmcEdCS1BQdThfeDlwNVF2UExHNXZRbWoyUngtbmUzVUVPSFh1bXp0OXR3TUgyemo5MEt5U3AwZU0tT3dSV3Y1UmVhYm1TV2o0WlJsZWhqbWc1SDlVcjdXaVdCNFFNdXBNMk1nandVYzU5ZVN5bFFENlZIcnVFNUFYNUdDQkQzbDhidTRYTFJIYWtDem5HMW9ENDBrYnowR3dmOWZjSEhDUWlhSTlNZk8zU2ZQbnJ0RjBnc0p1UkhyLXI5LWsxMHJIREY1emdoX1d0ekp2Q2NzOGtJY0VoVmlLRFBraUxuMWdJX0RDYkhJcjBGQzlLejc1SUF4blhZZnVYZkwySUFBIiwgImlzX3ByaW1hcnkiOiJ0cnVlIiwgImlhdCI6IjE1MzEzOTE2MjEifQ.Gg4EVoJVWmdpOHZOzOkfSibkrh0sYLpnhobh9vtDbeU
Cookie: buid=AQABAAEAAADXzZ3ifr-GRbDT45zNSEFEoFnVsZyiuDhk01_58h3gTuhxkuN4glzV70KOD4qXb3cul77hhZKHSKMCSE9cqbRZg3g4zUtg_rpagH16M-Nu5FB4y5bgt6lMhCIu7-Ki4X0dKeAmsUrlZRq405IXm2RLetetoIpHe0MgEOTC8JwY2eCfdKjf_Bhx0dL_nTimHn4gAA; CCState=Q3VJRENqOTJMWGRoZVhsaGJrQnRhV055YjNOdlpuUXVZMjl0ZkdGd2NEcGpORFJpTkRBNE15MHpZbUl3TFRRNVl6RXRZalEzWkMwNU56UmxOVE5qWW1SbU0yTVNrd013Z2dHUEJna3Foa2lHOXcwQkJ3T2dnZ0dBTUlJQmZBSUJBREdDQVVnd2dnRkVBZ0VBTUN3d0ZURVRNQkVHQTFVRUF4TUtUVk5KVkNCRFFTQmFNZ0lUVmdCUUQyeTQ1d2cwQlZuMkNBQUFBRkFQYkRBTkJna3Foa2lHOXcwQkFRRUZBQVNDQVFDTzlidFlmbkFKL2lSL3Q2VWNSNS9Wd3BTRk1RQzI1cE5iS2ZLMWY2ZGh1c3lpQkxMVkpKQ3BTMUd0RUNUVEl4WVRWUDdFaDVJQnRUVWxkbnNzcU42SDJVSHh5R2FCa1V3TmdzSGVJbnFyNTRmQldWZGZUeFpDOGN2bHNOVlRGODlrQ21SSVZPSFBpcmZ4d3c2RVU0dm9wdTFXUThPWXJOWmZSTXVaM0pYejZlQW9vVUxMVzBUTmF2MUdoMTRZbTFPTVdMQ25RV2JYR2pZWlNSTWpOYlBqYjUyL1E2Q3VJSFJjS1dLSm1xSjVHU0U1Q1JocTFpaWdRUjlyUXQ1RU83QWxEVjFJOTQwVHVDazVTcXExdWg0cnBLMzgvc1dicVA3K29Pd09HekpmVVZtYjZoZFJkTitnNHJFbUtQZVl3eko3QStVNWR2SlVzbG90aURvOVJhKzlNQ3NHQ1NxR1NJYjNEUUVIQVRBVUJnZ3Foa2lHOXcwREJ3UUlsRDhyYm9QMjFUYUFDRUUvU2pRMGlHaHFHZ2tKRjArTnlCTG4xVWdTRWdvUWYrUVFJMXhGaUVXbHh4VmhOOFZQS2hvSkNSZXRYWHNUNTlWSQ==; ESTSAUTHPERSISTENT=AQABAAQAAADXzZ3ifr-GRbDT45zNSEFE1D-i4sTI4bxMS3YG2_xDXp4yTXqZSiUHyY4ul731zw7SXGGIFxbywIo1SPbnI4jt3--AWzXxi_t3TOAUSTHcP7GmFG5M_XmldgDdZwx3po9Gr51ZGKrG8XoWYd26XFqopxJ1h-q7oWvXdN-5T0odxC-f4qwnqOodnM9QS7nU1m-gKtYqZS9PIvMoNw1Eb1Lv4Cb9Rctu6N2q85C1nYaLEbjtnCkAHrTOgCNDM8C-zYIGLOzZ7DR0rFEfnV8o0niSO0oUO-e9t3fXssDHYMaUqhDLTt8hDUR1KqU2lPew5JAAzqh1pTiiDY7IYV7SE5lqH-dNGeavEkwMqde1rtUGJTQPCvimMnNGoDysrW4yXzPmnAQPc8Sn8Glx7mMwbPzntQ8kYB6sTijcbH_no0QyTuiCn0528glk6Z6p1TXLdky0mmCB0AxlVM0Xccm8oqlti5AzMulnsEDUdM7gLi1PgA_uPxJ1UTM-DO0RxUY5-Q6scRf-VSzwQnMlkTWH9PRiesxnSODFvQs-aIojw1tC0ahuX7ZfcvEXQmZG4VOQ04nnqcWje-6510jAK-lx5VtMw3JKTQzydei_mXydArKXlKmBYD-GgN2iCfKcm6Sx22jFFSM34979ZtTY0xcBtpxbrtvt_o4LkwxJqKhC_cb9vALt3YguankBPShoBSzBPq6_sfyb8nxGdOPv7bTcZ9h1RFt0fXcMvuhwfdnbjfL6HnNYMajoOOmk3cRlyE4gPmkFOSotod4467QrCms-NcOIrQenzv6xwUx3SPlyCoPuTyifP0PdMZk7aASltHP5PkFQKXm5ebZviQ_mThAYdAHmCdDnX3faBWaNZmgKCNodrOOwxQA_VNGUoniXLOnX4oQgACAAQAAQAgAA; x-ms-cpim-csrf=RUF6Zk1MMFBHcVQxeHlNV2x0K2dnN21SVy9aMlN3M1R1WmxSOWdOUXhFTitDaGxOTFJoVGgwWFNLT0lKZ2JCcHdETFR1aUxtNFVDMmp0R2NkOE1RNXc9PTsyMDE4LTA3LTEyVDEwOjMzOjMyLjMyNjM0MTJaOy9IY3JiQmxESUhEcEQ4SWd1SXp6Q1E9PTt7Ik9yY2hlc3RyYXRpb25TdGVwIjoxfQ==; x-ms-cpim-cache:wvcyvhvvd0q92cjc_6_h2g_0=m1.S3dACHsvLvIU9jhT.XNaZIn7mQAXBmNMOG0OeZw==.0.qqrYwNxX97Mf7xsSucScE/lnsINSDQQEECciCSWF7lWoCSaJE4jE3k8gamxe27Y2LDYWRgAUQpLIwaq7Sy4bzHmpz6RW/6Eb0A+2EGYcOzEaCFdnyLgaYAAHJYSgFIi07woKxFS8XlaRNBPFhiN/oa9Cpx5FlKflK0zFI5kFlcCzs4ezScCoAGF37FqMhgF7bzMvEVlat7nFioDK5PujkHHasjBUx5GzIHcs/N+TKCGF2Q1laAXaQIqXRmAtsoW+c1W1jU2RgGOcEQumixZgr1V00CYan/Gl2CZrKcIzyieb0ZbLxInF4SKSzy2o4IGbAPD175IFRCvFVNx87OB3mi0BG7dRmJqVFIM/No+QhAg1Bn3rWc279ggANB5W2WqPBum4UCnbwGGdUncuaiMvzYzNGBEehbDhA2HMGyNSSB+/pyGlFQfrfAB1u6FMYaLRYrjistDBAtnDuc0vwbCru4UTZpL2tSsaZ9G3C1hRNEcyr3KPVdwbp4LWKCec7RXY0CMq+eDO0TDZytaZODlN; x-ms-cpim-trans=eyJUX0RJQyI6W3siSSI6IjU2MzI1NzU5LWVmMWItNGE3Ny1iZGQ5LWM4ZGNmZmFmZTFkYSIsIlQiOiJ5YW5nc2Eub25taWNyb3NvZnQuY29tIiwiUCI6IkIyQ18xQV9zaWdudXBfc2lnbmluIiwiQyI6ImNlYzdlYzY0LTBhMjgtNDkxNC1hYjFhLThmOTUxZmQyN2IxZCIsIlMiOjEsIk0iOnt9LCJEIjowfV0sIkNfSUQiOiI1NjMyNTc1OS1lZjFiLTRhNzctYmRkOS1jOGRjZmZhZmUxZGEifQ==; x-ms-gateway-slice=001-000; stsservicecookie=cpim_te

request_type=RESPONSE&signInName=547541640%40qq.com&password=Password**
Run Code Online (Sandbox Code Playgroud)

回复:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/json; …
Run Code Online (Sandbox Code Playgroud)

azure azure-active-directory openid-connect azure-ad-b2c identity-experience-framework

3
推荐指数
1
解决办法
2447
查看次数

Azure B2C 自定义策略条件编排步骤

我正在尝试根据我的自定义属性的值引入新的编排步骤。我的要求是,仅当 myattribute(boolean attribute) 的值设置为 true 时,我才想执行编排步骤。myattribute 的值设置为 true 或 false。我正在做这样的事情。

<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
  <Value>False</Value>
  <Value>extension_myattribute</Value>
  <Action>SkipThisOrchestrationStep</Action>
</Precondition>
Run Code Online (Sandbox Code Playgroud)

但是无论 myattribute 的值如何,都不会跳过这一步。我已将 myattribute 添加为 AAD-UserReadUsingObjectId 的 OutPutClaims 的一部分。我可以在 C# 中看到 extension_myattribute 的值。

任何指向比较值的示例的指针都会对我有很大帮助。

azure azure-ad-b2c identity-experience-framework

3
推荐指数
1
解决办法
1538
查看次数

Azure B2C 禁用 SignUpAndSignIn 策略的注册

我需要一些有关自定义 Azure B2C 的建议。

我一直在研究基于门户的定制和身份体验框架。

我的主要要求是完全控制登录体验的外观。但是,用户不能注册,因为这是由单独的业务流程处理的。我知道我不能使用简单的登录策略,因为 B2C 不提供所需的自定义级别。

我找不到任何描述如何/是否可行的可靠文档。

我已遵循 Azure B2C 身份体验框架的此文档。但看不到在哪里可以禁用注册。

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-get-started-custom

azure azure-ad-b2c

3
推荐指数
1
解决办法
1042
查看次数