我们当前的应用程序正在使用 SAML IdP 对用户进行身份验证。我们希望保留他们的 SAML 实现并使用 Azure AD B2C 更新应用程序的配置,而不是切换到 OAuth2 或 OpenID Connect。Azure AD B2C 目前是否支持通过 SAML 接收身份验证请求?我无法在文档中找到它。
我创建了一个Azure AD B2C租户,并使用username作为登录方法配置了本地帐户.我创建了一个注册策略,并通过Azure AD B2C注册屏幕进行了注册.在注册屏幕中,我输入了一个电子邮件地址,Azure AD B2C发送了一封电子邮件进行验证.注册成功后,我试图通过Graph API获取已注册用户的详细信息.
用于检索用户详细信息的图谱API URL:
https://graph.windows.net/<tenantid>/users?api-version=1.6
Run Code Online (Sandbox Code Playgroud)
我能够获得新用户的所有其他信息,如用户名,名字,姓氏等......除了用户在电子邮件验证期间输入的电子邮件地址.
如果有任何方法或配置可通过图谱API获取电子邮件地址,请通知我.
AD FS使用WS-Federation和SAML在Azure AD B2C上配置自定义策略作为声明提供程序.Azure AD B2C上的依赖方正在使用OpenID Connect.
是否可以通过OpenID Connect启动前端单点注销?
OpenID Connect Front-Channel Logout 1.0 - 草案02:http://openid.net/specs/openid-connect-frontchannel-1_0-ID1.html
使用OpenID Connect从依赖方启动单一注销,并使用WS-Federation继续通过Azure AD B2C并到达AD FS.从而终止依赖方,Azure AD B2C和AD FS中的会话.
如果是,那么在Azure AD B2C中如何使用自定义策略进行配置?
我在此处遵循了"入门"工作流程:https: //docs.microsoft.com/azure/active-directory-b2c/active-directory-b2c-get-started-custom
我从头开始跟踪它,两次,并且尝试使用登录和注册自定义策略登录时都会出现"我的密码不正确"的提示.我该如何正确认证?
工作的事情:
使用Application Insights我可以看到以下错误.(适用一些卫生设施)
"ValidationRequest":{
"ContentType":"Unspecified",
"Created":"2017-10-06T17:19:34.3995426Z",
"Key":"ValidationRequest",
"Persistent":true,
"Value":"client_id=55555555-5555-5555-5555-555555555555&resource=cccccccc-cccc-cccc-cccc-cccccccccccc&username=MYUSERNAME&password=PASSWORDIENTEREDONSCREEN&grant_type=password&scope=openid&nca=1;1;login-NonInteractive;False"
},
"ValidationResponse":{
"ContentType":"Json",
"Created":"2017-10-06T17:19:34.3995426Z",
"Key":"ValidationResponse",
"Persistent":true,
"Value":"{\"error\":\"invalid_client\",\"error_description\":\"AADSTS70002: The request body must contain the following parameter: 'client_secret or client_assertion'.\\r\\nTrace ID: 55555555-cccc-cccc-cccc-555555555555\\r\\nCorrelation ID: 77777777-7777-7777-7777-777777777777\\r\\nTimestamp: 2017-10-06 17:19:33Z\",\"error_codes\":[70002],\"timestamp\":\"2017-10-06 17:19:33Z\",\"trace_id\":\"55555555-cccc-cccc-cccc-555555555555\",\"correlation_id\":\"77777777-7777-7777-7777-777777777777\"};1;login-NonInteractive;False"
},
Run Code Online (Sandbox Code Playgroud)
重要的一点似乎是:
"AADSTS70002:请求正文必须包含以下参数:'client_secret或client_assertion"
后来它说:
"抛出了类型'Web.TPEngine.Providers.BadArgumentRetryNeededException'的异常."
我仔细检查了一些事情:
任何帮助深表感谢.谢谢.
我们尝试集成的客户端将 ADFS 作为其 IDP。客户尝试使用 Azure AD B2C 作为其 IDP。
错误在于 Azure AD B2C 尝试直接连接到不向公众开放的 SAML 端点,因此失败。
有没有办法将其 Federation.xml 文件上传到 Azure AD B2C,以便它不会尝试连接到 URL?
有人知道为什么当我邀请用户访问我的Azure AD B2C时,他们中的一些人在点击邀请电子邮件后会看到不同的网页吗?例如,用户将要求@ gmail.com创建Microsoft帐户,但如果他的电子邮件以@ mvrht.net结尾,则此页面的布局将有所不同.
我试图在网上搜索任何东西,但没有找到任何东西.是否有某种"魔法?算法决定这一点?
在哪里可以找到所有受支持的 Azure AD B2C 自定义策略声明转换方法的列表?
我已经在 Google、Bing、DuckDuckGo 和 GitHub 上搜索过此类列表,但找不到。
并且 TrustFrameworkPolicy_0.3.0.0.xsd 架构不包含它。
https://github.com/Azure-Samples/active-directory-b2c-advanced-policies/blob/master/Documentation/Features%20part%206.md - 确实有一个过时的列表 - 有些方法AddParameterToStringCollection不能used - 使用时无法导入策略。
有什么方法可以停用和重新激活Azure AD B2C用户。我想实现可切换Azure AD用户状态的功能。
我目前正在将 Xamarin/MSAL 与 Azure AD B2C 一起使用。
它可以毫无问题地工作。
但是,当调用 login 方法时,它会显示浏览器而不是 Web 视图,后者具有显示 URL 的地址栏。根据文档,它应该显示 Web 视图(客户端和服务器流)?
要使用此代码调用登录即时消息:
AuthenticationResult ar = await App.PCA.AcquireTokenAsync(App.Scopes, GetUserByPolicy(App.PCA.Users, App.PolicySignUpSignIn), UIBehavior.ForceLogin, "ui_locales=sv", App.UiParent);
Run Code Online (Sandbox Code Playgroud)
有没有办法强制网页视图而不是浏览器?