【问题标题】:Using auth0 with Laravel 5.3在 Laravel 5.3 中使用 auth0
【发布时间】:2017-01-25 14:30:43
【问题描述】:

我正在尝试将 auth0 与 Laravel 5.3 一起使用。我写了以下代码

<script src="https://cdn.auth0.com/js/lock/10.2/lock.min.js"></script>
<script type="text/javascript">
  var lock = new Auth0Lock('M0pdPK3bUKwYuHzK3Lxx8CWEFtu0Qv2X', 'foysal.auth0.com', {
    auth: {
      redirectUrl: 'http://127.0.0.1/addbook/auth0/callback',
      responseType: 'code',
      params: {
        scope: 'openid email' // Learn about scopes: https://auth0.com/docs/scopes
      }
    }
  });
</script>

这是我在 auth0 中的回调设置

但是当我尝试登录时,出现以下错误

谁能说说问题出在哪里??

【问题讨论】:

  • 看起来您的应用程序路由未正确定义以处理请求。
  • 请向我们展示您对addbook/auth0/callback 的路线定义。你的其他 Laravel 路由是否正常工作?
  • @ceejayoz,这里是路线Route::get('auth0/callback', ['as' =&gt; 'logincallback', 'uses' =&gt; '\Auth0\Login\Auth0Controller@callback']);
  • @abuabu addbook 来自哪里?
  • addbook 是项目名称以及 htdocs 文件夹中的文件夹名称。谢谢

标签: php authentication auth0 laravel-5.3


【解决方案1】:

我在这里可能错了,但我认为你应该在路由中定义你的 GET 变量。这样,您还可以保持 URL 的整洁。

Route::get('auth0/callback/{code}', ['as' => 'logincallback', 'uses' => '\Auth0\Login\Auth0Controller@callback']);

由于是 404,请尝试我上面的代码,而不是执行 ?code=xxx,只需在 callback/ 之后添加代码(建议尝试两个 URL)

这个 javascript 可以确保你的 url 是有效的:

<script src="https://cdn.auth0.com/js/lock/10.2/lock.min.js"></script>
<script type="text/javascript">
   var lock = new Auth0Lock('M0pdPK3bUKwYuHzK3Lxx8CWEFtu0Qv2X', 'foysal.auth0.com', {
   auth: {
      redirectUrl: '{!!route('logincallback') !!}',
      responseType: 'code',
      params: {
        scope: 'openid email'
      }
    }
  });
</script>

此外,除非您的控制台中有 CORS 错误,否则不会出现 cors 错误。但是,如果您以后偶然发现它们,可能是因为您使用的是 127.0.0.1,这可能会导致问题。在这种情况下,您应该改用 localhost。

【讨论】:

    【解决方案2】:

    我相信我有同样的错误。您是否将 http://127.0.0.1 放入 CORS 接受的 url 框中。我相信它与回调网址在同一页面中。这对我有用。

    【讨论】:

    • 我怀疑这与 CORS 标头有什么关系。 OP 在路线上收到 404。
    • 好的,抱歉。我也得到了 404。一定是不同的。
    猜你喜欢
    • 2019-06-14
    • 2017-03-19
    • 1970-01-01
    • 2017-04-05
    • 2017-03-27
    • 1970-01-01
    • 2017-02-16
    • 2017-06-28
    相关资源
    最近更新 更多