小编Tho*_* D.的帖子

用户流“ Sign in v2”的AD B2C forceChangePasswordNextLogin不会启动密码重置,并且会阻止成功登录

我正在使用图形客户端API在Azure AD B2C中创建新用户。我发送给api的json如下所示:

{
    "creationType": "LocalAccount",
    "passwordProfile": {
        "password": "a:898;keJPpN/69X",
        "forceChangePasswordNextLogin": true
    },
    "passwordPolicies": "DisablePasswordExpiration",
    "objectId": null,
    "accountEnabled": true,
    "displayName": "John Doe",
    "mailNickname": "john.doe",
    "signInNames": [
        {
            "type": "emailAddress",
            "value": "john.doe@provider.com"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

然后可以正确创建用户。但是,一旦我尝试使用流“ Sign in v2”使用新创建的用户登录,就会收到以下错误消息:Invalid username or password. 查看登录尝试,失败的尝试都失败了,

Status: Interrupted
Sign-in error code: 50055
Failure reason: Invalid password, entered expired password.
Run Code Online (Sandbox Code Playgroud)

通过单击“忘记密码?”来启动“密码重置v2”流程。确实会触发带有电子邮件确认的密码重设流程。输入发送的确认代码并设置新密码后,登录将按预期工作。

如果设置了"forceChangePasswordNextLogin" : false,则第一次登录将按预期进行。但是,在这种情况下,不会迫使用户更改其一次性密码。因此,这实际上不是一个选择。也很有趣:使用“登录”流(不使用v2)时,一切都按预期工作,并且用户在第一次登录时被迫更改密码。但是,由于该流程不支持自定义样式,因此也不是一种选择。

我必须怎么做才能获得“ Sign in v2”流,以便在用户首次登录时正确触发密码更改?

active-directory azure azure-active-directory azure-ad-b2c

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

基于极值点的打包算法(3D)

我正在尝试使用基于极值点的方法来实现 3D 打包算法。介绍这种方法的论文可以在这里看到:Extreme Point-Based Heuristics for 3D Dimensional Bin Packing

论文最后还有一个伪代码算法(Algorithm 1 Update3DEPL)。我很难理解作者的意思如下:

  • 他用标识符指的是什么Yx, Yz, Xy, Xz, Zx, Zy?我知道他用它来索引数组,但是我不知道他的意思。我很确定作者每次都想引用一对轴,但我又不知道这意味着什么。

  • 我更困惑的是该函数的CanTakeProjection作用以及它需要上述符号(Yx,Yz,...)的用途?该功能的解释也没有帮助我:

CanTakeProjection:如果 EP k 位于项目 k 的一侧,则函数返回 true

极端点 k 应该如何不位于项目 k 的一侧?或者这是一个错字,它应该如下所示:

CanTakeProjection:如果 EP k 位于项目i的一侧,则函数返回 true

(注意末尾的 'i' 而不是 'k'。)但同样,extremePoint位于项目的一侧是什么意思?它是指哪一边?任何?或者由给定参数 Xy 定义的特定值(例如)。

我希望我说清楚我的问题是什么。解释起来很棘手。如果有人能为我澄清这一点或为我指明正确的方向,我将不胜感激。

algorithm 3d packing bin-packing

5
推荐指数
1
解决办法
631
查看次数

在多种谷物之间分配繁重的工作(微软奥尔良)

我想计算一个简单的可并行计算(例如Mandelbrot),其中Orleans在不同的晶粒上平行并且一旦晶粒完成就将结果合并在一起.但是,我不知道如何做到这一点,或者奥尔良是否是解决此类问题的正确框架.另外,我要提一下,这不会是任何将投入生产的项目,我只是在玩奥尔良.

到目前为止,这是我的想法:我有一个graintype(让我们称之为"maingrain"),这是客户端的入口点(也可能是一个粒子).然后,这种谷物估计所需处理能力的数量,并将任务分成较小的部分,这些部分从另一种谷物类型分配给其他谷物(我称之为"亚粒子").让这些子晶片完成工作并等待可以返回给客户端的结果没什么大不了的,但是我不知道如何处理子晶粒.

可以说,有一个电话我想要使用10个亚晶粒.我通过一个新的GUID得到每一个并让它们工作.他们完成了,客户得到了结果.现在有一个我想要使用X亚晶粒的电话:

  • 我应该简单地使用X个新GUID激活X个新的底色并让垃圾收集器进行清理吗?
  • 我应该以某种方式重复使用先前激活的亚晶粒(某种池),我怎么知道亚晶粒已经可以重复使用(=不繁忙)?
  • 如果我想使用多个maingrains会发生什么.每个都处理它自己的亚晶粒吗?

你会怎么做?谢谢.

c# distributed-computing actor orleans

4
推荐指数
1
解决办法
976
查看次数