标签: azure-ad-b2c

注册移动应用程序时,在Azure AD B2C中绕过电子邮件验证

我希望我清楚我的问题,所以这里.在我们的应用程序的注册流程中,我们询问用户的用户名,电子邮件和密码.但是,我们不要求确认/验证用户的电子邮件以继续使用该应用程序.根据我们的IT部门 - Azure AD B2C要求在最终用户首次注册时验证电子邮件地址.这是绝对真理吗?其他应用程序需要电子邮件,但仍然会让用户无需确认即可使用服务.

我们了解风险,如果用户决定使用他们不拥有的电子邮件,则会对用户施加压力.此方案的详细信息将在法律披露中详细说明.因此,重置密码,通知等对此用户不起作用.

authentication email-validation azure azure-ad-b2c

6
推荐指数
1
解决办法
803
查看次数

尝试实现Azure Active Directory B2C给出了404错误

我正在尝试在我正在开发的新页面中实现Azure Active Directory B2C,但是我404 - File or directory not found尝试从我的页面登录时遇到此错误.

我做了房客,注册了我的应用程序,创建了我的政策,整个交易.我可以从Azure门户测试它们没有太多问题.但是,我按照官方教程中的指示来实现我页面中的策略无济于事,我得到了提到的404错误,好像有些东西丢失了.
我甚至下载了那里发布的代码,它的确有效!

我尝试比较两个代码,但实际上看不出有什么区别.但是,我在这里粘贴我的代码,希望你能帮我解决这个问题.

WEB.CONFIG

<add key="ida:Tenant" value="PlataformaXXX.onmicrosoft.com" />
<add key="ida:ClientId" value="84d2a6e6-4cac-4c53-a5ff-XXXXXXXXXXXX" />
<add key="ida:AadInstance" value="https://login.microsoftonline.com/{0}/v2.0/.well-known/openid-configuration?p={1}" />
<add key="ida:RedirectUri" value="https://localhost:59744/" />
<add key="ida:SignUpPolicyId" value="B2C_1_Sign_Up" />
<add key="ida:SignInPolicyId" value="B2C_1_Sign_In" />
<add key="ida:UserProfilePolicyId" value="B2C_1_Edit" />
Run Code Online (Sandbox Code Playgroud)

STARTUP.AUTH.CS

public partial class Startup
{
    // App config settings
    private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];
    private static string aadInstance = ConfigurationManager.AppSettings["ida:AadInstance"];
    private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"];
    private static string redirectUri = ConfigurationManager.AppSettings["ida:RedirectUri"]; …
Run Code Online (Sandbox Code Playgroud)

azure http-status-code-404 azure-ad-b2c

6
推荐指数
1
解决办法
2469
查看次数

如何强制Azure Active Directory身份验证服务重新发出带有更新声明的id_token?

我们正在使用Azure B2C来验证我们的用户是否正常工作.注册后,我们向用户添加一些自定义声明,这些声明在B2C门户中使用图形api定义为"用户属性".当我登录门户网站时,我可以看到这些值已经被我们的调用设置,因为有一些标准的声明值(即我们还通过连接givenName和lastName值来设置显示名称).

我们遇到的问题是,在设置这些值之后,它们不会出现在通过将访问令牌发送到身份验证端点而检索到的令牌中,直到用户注销并再次返回(这显然是一个非常糟糕的用户体验之后)注册).看起来在创建用户时会缓存原始id_token,而这正是返回的内容.

这没有意义,因为让用户在登录应用程序时更新其配置文件(声明值)并且这些更改立即生效而无需重新进行身份验证似乎是完全合理的?

有人可以解释如何/是否有可能强制服务器上的缓存id_token过期,以便当我们使用访问令牌请求id_token时,id_token包含最新的声明值?

active-directory azure azure-ad-b2c

6
推荐指数
1
解决办法
424
查看次数

Azure AD可以与基于SAML的身份提供程序一起使用吗?

当我们吸引一些新客户时,我们正在评估几个选项以实现应用程序的单点登录,并且我们一直在尝试确定Azure AD是否可以帮助我们。

该应用程序具有Web API和一个页面应用程序网站。因此,我们正在寻求通过oAuth流保护Web API,并选择使用Azure AD或Identity Server v3进行评估。我们需要连接到SAML身份提供商。(最终,我们希望基于客户登录来支持多个身份提供者,但是有些具有SAML IDP,并且我们也可以将Azure B2C用于本地用户,但我不想为此而分心)

我现在的主要问题是:是否可以使用Azure AD,以便我可以让一些用户针对其组织托管的基于SAML的身份提供程序进行身份验证?

因此,Azure AD将处理对我的Web API的授权?我的Web API将使用OWIN中间件来检测承载令牌并重定向到Azure,Azure将重定向到客户身份提供者进行登录。我认为这曾经是Azure的ACS功能的一部分,但后来更改为Azure AD的总括条款,我不确定它能做什么。

澄清#1:我不想使用Azure AD作为身份提供者。我想让它使用oAuth令牌流保护我的应用程序安全,但需要重定向到单独的客户托管的身份提供商进行身份验证。因此,我将转到使用API​​ api.contosobikes.com的www.contosobikes.com,该API受AD发行令牌的保护,但是我进行了“注册”,因此用户在id.somecustomer.com上登录,然后重定向回。我认为这是我们可以使用Identity Server实现的功能,我正在尝试查看Azure AD是否可以做到这一点。

azure azure-active-directory azure-ad-b2c

6
推荐指数
1
解决办法
4303
查看次数

如何在Azure Active Directory B2C中添加具有本地名称的用户?

我已经启动并运行Azure Active Directory B2C,并且可以在AD中创建的用户以@ .onmicrosoft.com的形式登录.所以,例如,john.smith @ myorganization.onmicrosoft.com,工作得很好.但是这些用户名对于外部使用是不可接受的.我还有基本的Microsoft帐户登录工作,因此名为john.smith@comcast.net的用户可以通过Microsoft目录重定向.

但我想允许任意电子邮件登录.使用Azure门户,如何添加用户并为其提供登录ID john.smith@somecompany.com?文档和FAQ表明它是可能的,但是当我添加用户时,我在Azure门户中找不到该选项.我错过了什么?

azure-active-directory azure-ad-b2c

6
推荐指数
2
解决办法
2790
查看次数

Azure B2C 和登录提示

我正在使用 Azure 移动应用来托管我的网站。我正在使用 B2C 来控制身份验证。

如果我发出以下登录调用(在本例中是从浏览器调用):

https://mydomain.azurewebsites.net/.auth/login/aad
Run Code Online (Sandbox Code Playgroud)

然后我得到我的公司品牌登录设置就好了。图像等都很棒。

但是为了方便,我想填写用户名。

因此,如果我拨打此电话登录(同一客户端):

https://mydomain.azurewebsites.net/.auth/login/aad?login_hint=myemail@gmail.com
Run Code Online (Sandbox Code Playgroud)

然后登录名 (login_hint) 值显示在用户名字段中非常好,但我公司的所有品牌都丢失了。

谁能告诉我我做错了什么?我试着domain_hint乱动,但也没有用。

提前致谢。

azure azure-mobile-services azure-ad-b2c

6
推荐指数
1
解决办法
1997
查看次数

使用刷新令牌进行Azure Active Directory B2C定价澄清

我对此处定义的Azure AD B2C的定价结构感到困惑.这个问题似乎来自这个描述:

身份验证:响应于用户发起的登录请求发出的令牌,或者由代表用户的应用程序发起的令牌(例如,令牌刷新,其中刷新间隔是可配置的).

在我的租户/应用程序的Azure AD B2C设置中,我定义了一个SignInUp策略,然后选择了访问/ ID令牌的生命周期(最多24小时),以及刷新令牌(最多90天),然后刷新滑动窗口边界(最多365天或没有到期).这与我根据身份验证定价收取的身份验证有何关系?

例如,如果我将我的访问/ ID令牌设置为24小时并将我的刷新令牌设置为90天并且我使用MSAL库来获取AcquireTokenSilentlyAsync并且我有一个用户每天进入该应用程序,我将收取30个用于该版本的认证用户每月,或只是1次身份验证,因为刷新令牌尚未过期?

这会使成本产生巨大差异,我是否可以将B2C用于我的应用验证需求.例如,每天有100,000名用户,如果我每月只收取1次认证费用,如果我的刷新令牌设置为90天,最终每月平均花费约50美元,而如果每24小时收取一次认证费用,将收取每月6300美元的费用!对此有任何澄清表示赞赏.

authentication azure azure-ad-b2c azure-ad-msal

6
推荐指数
1
解决办法
1772
查看次数

Azure AD B2C 不返回刷新令牌

我正在开发一个以 Azure AD B2C 作为身份提供者的 SPA。我正在使用MSAL JavaScript 库,它大部分工作正常。我可以为我的 Web API 后端创建用户、登录和获取访问令牌。

目前唯一的问题是 B2C 端点没有返回刷新令牌,因此当访问令牌过期时,UserAgentApplication 类中的 AcquireTokenSilent 方法(用于使用刷新令牌刷新过期的访问令牌)失败。

我在 B2C 中的应用程序在其属性中配置为“包括 Web 应用程序/Web API”和“允许隐式流”设置为“是”。在 API 访问部分中,在“访问用户的个人资料”下勾选了“openid”和“offline_access”范围。应用程序本身具有“读取”、“写入”和“user_impersonation”范围(不确定这是否重要)。

在此处输入图片说明

“offline_access”包含在我的范围中,我尝试创建一个应用程序,例如读/写范围并包括它(如“ https://mytenant.onmicrosoft.com/testapp/offline_access ”)但似乎没有工作。响应永远不会有刷新令牌,无论是 id 令牌还是访问令牌。

我注意到的是,当我转到我创建的 SignUp-SignIn 策略并尝试从那里运行端点时,“offline_access”范围在下拉列表中甚至不可用。即使我复制底部的“运行端点”链接并在运行之前将范围添加到 URL,响应也不包含刷新令牌。

在此处输入图片说明

当我单击顶部的链接时,它似乎为我提供了有关端点的一些详细信息,并且只有“openid”在受支持的范围内。

不确定我在这里遗漏了什么,所以任何想法都将不胜感激。

oauth-2.0 openid-connect azure-ad-b2c azure-ad-msal

6
推荐指数
1
解决办法
4857
查看次数

6
推荐指数
1
解决办法
1138
查看次数

使用msal.js在角度spa上进行身份验证

我的角度应用程序有1000个独特的路由,用户应该可以从任何这些页面点击登录按钮.基于此示例实现了msal.js:

https://github.com/Gimly/simpleAngularAzureB2C/blob/master/src/app/authentication.service.ts

调用login方法时出现以下错误:

AADB2C90006:+ +重定向+ URI +' http:// localhost:39579/unique-uri '+提供+ + + +请求+ + +不+注册+ + + +客户端+ id +

有办法解决这个问题吗?

谢谢!

single-page-application azure-ad-b2c azure-ad-msal angular

6
推荐指数
1
解决办法
1463
查看次数