为什么在 Auth0 的锁上使用数据库连接登录时不存在附加参数

Why are additional parameters not present when using database connection for login on Auth0's Lock

我一直在为我的应用程序登录流程使用 Auth0 的锁定小部件。效果很好,但现在我需要在登录时传递额外的参数。

Lock 小部件提供了一个 parameters 属性,文档称该属性为 "sent with every authentication requests"。听起来不错,所以我把它放在一起:

  let params = ["favoriteFood": Base64Encode("pizza")]
  Lock.classic().withOptions {
    [=10=].oidcConformant = true
    [=10=].allow = [.Login, .ResetPassword]
    ...
    [=10=].parameters = params
  }

问题是,当我使用 数据库连接 登录时,我的自定义参数没有显示在登录请求中。当我使用像 google 这样的 社交关系 登录时,我 看到了这些参数。

还有其他人找到解决方案吗?或者有人可以阐明此 "parameters" 属性的用途,以便我更好地理解如何使用它吗?

注意: The docs 指定 "the following parameters are supported: access_token, scope, protocol, device, request_id, nonce and state",因此我尝试重命名我的自定义参数 "state" 而不是 "customParams",但问题仍然存在。

看起来你的 params 是一个数组 ([])。您引用的文档似乎表明它应该是一个 json 对象 ({}).

auth: { params: {state: 'foo'}, }

Lock 项目中存在错误。 Auth0 团队已解决问题并关闭了我的工单:https://github.com/auth0/Lock.swift/issues/506