有什么办法可以在auth0规则中获取用户的语言?

时间:2018-07-27 12:35:35

标签: auth0 auth0-delegated-admin

我想在auth0中创建一个规则,该规则会将用户的语言添加到用户的ID令牌中。那么有什么方法可以实现?我可以从geoip获取国家代码和其他一些信息,但是我在任何地方都无法获得语言

1 个答案:

答案 0 :(得分:1)

如果您还没有该语言,则可以在注册过程中使用Lock中的additionalsignupfields选项显示语言下拉菜单,以收集用户的语言。然后,用户将在注册期间选择一个选项,并且所选值可以保留在user_metadata中。

或者,您可以使用JavaScript定制登录页面以检测用户的浏览器语言,然后使用该值自动填充Lock中的additionalsignupfield。必要时我们甚至可以将其设为隐藏字段。

一旦存储在user_metadata中,我们就可以将其添加到id_token中,例如:

function(user, context, callback) {

  // copy user metadata value in id token
  context.idToken['http://examplesite/user_lang'] = user.user_metadata.user_lang;

  callback(null, user, context);
}