小编Ori*_*all的帖子

AWS Cognito - 管理员无需发送电子邮件即可重置用户密码

我需要重置一些用户的密码,但发送忘记密码的电子邮件。只需重置密码,以便他们下次登录时我可以显示一条消息,要求他们请求重置密码。深入研究我需要的最基本的东西:在不通知用户的情况下,我需要让他们进入某种RESET_REQUIRED状态,以便让用户在前端返回一个PasswordResetRequiredException.

我最初认为AdminSetUserPassword这可以解决这个问题,但它使用户处于一种需要通过我没有设置的用户界面更改密码的状态。我不确定是否可以采取额外的步骤——设置密码AdminSetUserPassword,然后采取其他一些步骤?

否则,我已经尝试了很多不同的事情AdminResetUserPassword

  • 尝试从我在触发器上运行的 Lambda 中删除任何自定义消息CustomMessage_ForgotPassword,但这只会导致发送带有代码的通用消息。
  • 尝试将email_verified用户的属性更改为false(因为AWS文档指出,如果他们有经过验证的电子邮件,它将发送密码重置电子邮件),但这会使密码重置本身引发错误。
  • 尝试将用户的电子邮件更改为临时(假)电子邮件,以便将电子邮件发送到那里,但用户在更改电子邮件时会收到一封电子邮件。

有没有人有这方面的经验,或者这是一个不可能的要求?

amazon-web-services amazon-cognito

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

什么时候需要在 Ruby 常量前添加“::”前缀?(未初始化的常量错误)

错误类似于NameError: uninitialized constant Foo::Bar(whenBar不是 的后代Foo)。

我知道它与加载(自动加载?)常量有关,并且我觉得其中的任何内容都lib/可以安全地不加前缀,::因为它是自动加载的(或其他东西)。

刚刚发生在我身上的一个例子是这样的:

应用程序/资产/类/base_class.rb

class BaseClass
end
Run Code Online (Sandbox Code Playgroud)

应用程序/资产/some_module/some_class.rb

module SomeModule
  class SomeClass < BaseClass
  end
end
Run Code Online (Sandbox Code Playgroud)

我正在运行规范并收到“加载[文件]时发生错误”:NameError: uninitialized constant SomeModule::SomeClass::BaseClass

现在,我知道它正在尝试BaseClassSomeModule::SomeClass. 但这在几个小时前还在工作,然后在没有对这些文件进行任何更改后停止了。

所以,我可以直接加上 a::并与 一起使用class SomeClass < ::BaseClass,但不明白为什么感觉很糟糕,然后我想,我是否需要一直在我的所有代码中添加胡椒粉::

ruby inheritance ruby-on-rails constants autoload

2
推荐指数
1
解决办法
868
查看次数