auth0 - 如何使用 JS API 将配置选项传递给 Auth0 托管页面?

标签 auth0

我在 auth0 和 auth0-js 上使用托管登录页面模块来授权我的用户。

文档谈论 a config object并且页面本身清楚地显示了这样一个被反序列化的对象。

但是,文档并没有远程讨论应该如何将此对象传递给页面。事实上,文档 indicate an approach不能远程工作(没有设置配置参数)

我是否需要自己序列化对象并设置 config属性(property)还是有其他方法?

最佳答案

我解决了这个问题:当您调用托管登录页面时,您必须在授权调用中传递参数。我做了一个示例,允许使用参数指定托管页面的语言。

脚本代码:

var params=new Array();
params['language'] = 'es';

var webAuth = new auth0.WebAuth({
    domain: 'example.auth0.com',
    clientID: 'YOUR_CLIENT_ID',
    redirectUri: 'https://www.example.com/redirect',
    audience: 'https://example.auth0.com/userinfo',
    responseType: 'code',
    scope: 'openid profile email',
    allowShowPassword: true,
});

webAuth.authorize(params);

托管页面代码:
var config = JSON.parse(decodeURIComponent(escape(window.atob('@@config@@'))));
var language;
if (config.extraParams.language)
  language = config.extraParams.language;
else
    language = 'en';

var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
  ...
  language: language
});

lock.show();

因此,您在授权调用中指定的任何参数都可以使用 config.extraParams 变量访问

P.D.:晚了几个月,但我希望它可以帮助其他用户

关于auth0 - 如何使用 JS API 将配置选项传递给 Auth0 托管页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929157/

相关文章:

express - Passport-auth0 访问accessToken

Auth0 Multi-Tenancy 架构 - 多个数据库连接

oauth-2.0 - auth0 和 IdentityServer 有什么不同?

javascript - 从重定向 Angular 5 中获取查询参数

javascript - Electron Auth0Lock "Origin file://not allowed"

reactjs - 使用 Auth0 身份验证来部署 React App 来 netlify

android - 如何从使用 react-native init 创建的 react-native 应用程序生成 AndroidManifest.xml

javascript - Angular 2 - Auth0

firebase - Auth0 与 Firebase 委派

javascript - 使用 JavaScript,如何检查 Auth0 无密码 session 是否已过期