Cordova 在浏览器脱机访问中运行的Ionic2中使用Auth0进行Google身份验证

Cordova 在浏览器脱机访问中运行的Ionic2中使用Auth0进行Google身份验证,cordova,angular,ionic2,google-authentication,auth0,Cordova,Angular,Ionic2,Google Authentication,Auth0,我正在尝试将Auth0用于Ionic2测试应用程序。我正试图让谷歌登录工作在'离子服务'或'离子运行浏览器'。这是我的Auth0设置 auth0 = new Auth0({clientID: 'yyy', domain: 'xxx.auth0.com' }); lock = new Auth0Lock('yyy', 'xxx.auth0.com', { auth: { redirect: false, params: { scope:

我正在尝试将Auth0用于Ionic2测试应用程序。我正试图让谷歌登录工作在'离子服务'或'离子运行浏览器'。这是我的Auth0设置

  auth0 = new Auth0({clientID: 'yyy', domain: 'xxx.auth0.com' });
  lock = new Auth0Lock('yyy', 'xxx.auth0.com', {
    auth: {
      redirect: false,
      params: {
          scope: 'openid',
        //scope: 'openid offline_access', // DOES NOT WORK
        device:'Mobile device'
      }
    }
  });
请求脱机访问会导致身份验证失败并出现错误

{
error: "invalid_request", 
errorDescription: "device parameter must be specified", 
state: "aaa-bbb"
}
尽管我提供了一个deviceName,但为什么这个失败?

检查答案

故意不提供在浏览器中设置“设备名称”以获得脱机访问

我们不建议将此流用于在浏览器中运行的web应用程序,因为浏览器不是设备。为了防止web应用程序上下文中的会话过期,最好增加JWT的生存期,然后在用户每次访问应用程序时自动刷新令牌

我建议用一个装置试试。
爱奥尼亚跑步-设备应该可以工作。

这有帮助吗?也许你错过了什么@suraj我阅读了Auth0的指南,但这似乎是完全相同的指南。我看不出有什么遗漏。我意识到为什么需要“deviceName”,为什么它对于浏览器模式没有意义,因为它不是一个设备。但是我能像教程建议的那样自己提供吗?我已经看到了,但是因为它说“不推荐”,我认为它应该仍然有效。但我放弃了!好如果它起作用,它可能会被“Auth0”视为一个bug: