2016-09-17 70 views
1

我试图在Laravel 5.3中使用auth0。我写了下面的代码在Laravel 5.3中使用auth0

<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

enter image description here

但是,当我试图登录我有以下错误

enter image description here

可以在任何一个我的回调设置说问题在哪里?

+1

看起来您的应用程序路由没有正确定义来处理请求。 –

+0

请向我们显示'addbook/auth0/callback'的路由定义。你的其他Laravel路线是否正常工作? – ceejayoz

+0

@ceejayoz,这里是路由'Route :: get('auth0/callback',['as'=>'logincallback','uses'=>'\ Auth0 \ Login \ Auth0Controller @ callback']);' –

回答

-1

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

+0

我怀疑这有什么CORS头。 OP在路线上获得404。 – ceejayoz

+0

对不起。我也得到了404.一定是一个不同的。 –

0

我可能在这里错了,但我认为你应该在路线中定义你的GET变量。这样你也可以保持网址的美观和干净。

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

因为它是一个404,试试我上面的代码和而不是做?code=xxxcallback/后只要添加代码(建议尝试两个网址)

这个JavaScript可以确保您的网址是有效的:

<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。