Azure AD B2C密码过期

Azure AD B2C密码过期,azure,azure-active-directory,azure-ad-b2c,Azure,Azure Active Directory,Azure Ad B2c,我们通过“注册或登录”策略在解决方案中利用Azure AD B2C。在正常情况下(我没有计算确切的天数),当我尝试登录时,我得到:“无效用户名或密码”。我必须重新设置我的密码才能让它工作 所以我有两个问题: 是否有默认密码过期策略?Azure B2C Connect上的一个功能请求是启用此类自定义过期策略的定义,但我在文档中未发现存在默认过期策略的事实。是否有任何方法可以删除此默认行为(即无过期) 消息“无效用户名或密码”具有误导性,应该是“您的密码已过期”。有什么办法可以改变吗 谢谢 是否

我们通过“注册或登录”策略在解决方案中利用Azure AD B2C。在正常情况下(我没有计算确切的天数),当我尝试登录时,我得到:“无效用户名或密码”。我必须重新设置我的密码才能让它工作

所以我有两个问题:

  • 是否有默认密码过期策略?Azure B2C Connect上的一个功能请求是启用此类自定义过期策略的定义,但我在文档中未发现存在默认过期策略的事实。是否有任何方法可以删除此默认行为(即无过期)

  • 消息“无效用户名或密码”具有误导性,应该是“您的密码已过期”。有什么办法可以改变吗

谢谢

是否有默认密码过期策略

对于B2C本地帐户: 注意:本地帐户只能通过注册或AAD Graph API创建。您不能通过单击作为B2C租户的AAD中的新用户来创建它

默认情况下,本地帐户没有密码过期策略。Azure AD B2C的注册、注册或登录以及密码重置策略使用“strong”密码强度,不会使Azure AD B2C中本地帐户的任何密码过期。你可以从中看到这一点

然而,也有一些条件,您可能会遇到B2C本地帐户用户密码过期

  • 默认情况下,如果本地帐户是由内置密码策略创建的,则此策略将
    passwordPolicies
    属性设置为
    DisablePasswordExpiration
    。因此,B2C本地用户的密码不会过期

  • 但是,如果本地帐户是由自定义策略或Azure AD Graph API创建的,则必须手动将
    密码策略
    属性设置为
    禁用密码过期

因此,如果您没有将密码策略的属性设置为
DisablePasswordExpiration
,本地用户的密码可能会在90天后到期而不发出通知

是否有任何方法可以删除此默认行为(即无过期)?消息“无效用户名或密码”具有误导性,应该是“您的密码已过期”。有什么办法可以改变吗

本地账户决议:
  • 要通过AAD Graph API创建密码不过期的B2C本地用户,请参阅:

    POST https://graph.windows.net/contosob2c.onmicrosoft.com/users?api-version=1.6
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsIng1dCI6IjdkRC1nZWNOZ1gxWmY3R0xrT3ZwT0IyZGNWQSIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJod...
    Content-Type: application/json
    Content-Length: 338
    {
    // All of these properties are required to create consumer users.
    "accountEnabled": true,
    "signInNames": [                            // controls which identifier the user uses to sign in to the account
        {
            "type": "emailAddress",             // can be 'emailAddress' or 'userName'
            "value": "joeconsumer@gmail.com"
        }
    ],
    "creationType": "LocalAccount",            // always set to 'LocalAccount'
    "displayName": "Joe Consumer",                // a value that can be used for displaying to the end user
    "mailNickname": "joec",                        // an email alias for the user
    "passwordProfile": {
        "password": "P@ssword!",
        "forceChangePasswordNextLogin": false   // always set to false
    },
    "passwordPolicies": "DisablePasswordExpiration"
    }
    
  • 通过AAD Graph API,使用
    PATCH
    方法将受影响用户的密码策略属性更新为
    DisablePasswordExpiration
    ,您可以参考更新b2c用户

  • 要求所有受影响的B2C用户更改其密码


  • 社会账户: 密码过期取决于身份提供程序的密码策略

    AAD密码过期策略仅适用于工作或学校帐户。可应用于在Azure AD中创建和管理的用户帐户的可用密码策略设置

    因此,如果您将AAD作为AAD B2C的社交帐户,密码过期策略将影响这些社交帐户

    AAD社会账户决议: 如果您的帐户是Azure AD中的社交帐户,请使用您的公司管理员凭据连接到该租户。 执行以下命令之一:

  • 要将一个用户的密码设置为永不过期,请使用用户的用户主体名称(UPN)或用户ID运行以下cmdlet:
    set MsolUser-UserPrincipalName-PasswordNeverExpires$true

  • 要将组织中所有用户的密码设置为永不过期,请运行以下cmdlet:
    Get-MSOLUser | set-MSOLUser-PasswordNeverExpires$true


  • 您可以在中的Azure广告中查看有关密码策略的更多详细信息。

    Hi,@ben,我可以知道您的问题已经解决了吗?您好@Wayne,谢谢您的解释。在我的情况下,我是B2C目录的全局管理员和本地帐户用户。所以我猜在这种情况下,密码过期策略适用,这就是为什么我看到我的密码每30天过期一次。。。关于错误文本的第二个问题呢?谢谢!嗨,@ben,你为广告B2C创建了自定义策略吗?您的密码每30天过期一次,但默认时间为90天。您是否制定了其他SSRS政策?您是对的,我认为是每90天一次(正如我在最初的问题中所说,我没有计算天数)。有没有关于误导性文本的想法(这似乎只适用于内置的“注册并登录”策略,而不是“登录”策略?如果这个问题是关于密码过期的,我认为误导性文本无法更改。我没有遇到密码过期的问题。Azure广告应该显示密码已过期。“无效用户名或密码”不应用于此场景。