首次登录后如何强制更改密码 - c#

我有一个Azure Active Directory B2C租户。我还有一个小型服务,可以从另一个系统在B2C租户中创建新用户。这样我就可以同步两个系统。将用户添加到B2C并首次登录后,我希望该用户被迫更改密码。但是无论我做什么,用户都可以登录并继续,而无需更改密码。

要将用户添加到B2C,我使用Microsoft Graph 1.14程序包。我将用户信息作为JSON推送到端点https://graph.windows.net/ {tenantId} /users?api-version=1.6

登录页面是用户流策略中的Azure自定义页面。如果需要,还有一个更改密码策略。

我尝试过的

添加用户时,我设置了密码配置文件。添加属性“ ForceChangePasswordNextLogin”并将其设置为true无效。
有人建议添加“ ForceChangePasswordNextSignIn”属性,但B2C不知道该属性。
试图在政策中修复它;没用。
使用过Google和StackOverflow;没有多少运气。

这是我发布到Microsoft Graph的用户:

var user = new GraphUserModel
{
    City = "Amsterdam",
    CustomField= "999999",
    Department = "TestPassword",
    DisplayName = "TestPassword",
    OtherMails = new[] { "[email protected]" },
    PostalCode = "1234 AB",
    StreetAddress = "Hoofdweg 6",
    Surname = "TestPassword",
    TelephoneNumber = "0123456789",
    ChainCode = null,
    MailNickname = "999999",
    UserPrincipalName = "999999@{tenantNameHere}",
    SignInNames = new List<SignInNames>
    {
        new SignInNames
        {
            Type = "userName",
            Value = "999999"
        }
    },
    AccountEnabled = true,
    CreationType = "LocalAccount",
    PasswordProfile = new PasswordProfile
    {
        Password = "SomeRandomPassword"
    },
    PasswordPolicies = "DisablePasswordExpiration"
};

用户创建正确,但是当他们第一次登录时,我希望看到一个页面,他们被迫更改密码。

参考方案

使用注册/登录策略,我必须通过在DB中标记用户(如果他们已更改密码)然后在未更改密码的情况下重定向到密码更改来手动实现该操作。

我也找不到“开箱即用”的解决方案。我发现forceChangePasswordNextLogin仅适用于登录策略。

使用动态DocumentId从Azure函数访问DocumentDb - c#

这是我的function.json:{ "bindings": [ { "type": "httpTrigger", "direction": "in", "webHookType": "genericJson", &#…

Azure SQLite插入 - c#

我有一个Azure云应用,我正在尝试将用户上传的数据存储在〜/ AppData / mydb.db中的SQLite数据库中。由于存在许多问题,因此我不得不部署System.Data.SQLite,因此我修改了代码以使用此sharp-sqlite库。在调试模式下插入数据时,一切正常。在Azure上部署时,用户提供的数据将插入SQLite数据库。在此过程中不会引…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…