我试图连接基本的 PHP/JS Auth0 集成,但“userInfo”调用总是不返回任何内容,甚至不返回空数组。这就是我的设置方式。
首先,非常简单的“登录”页面。
<?php
require_once 'config.php';
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Testing Auth0 PHP</title>
</head>
<body>
<script src="https://cdn.auth0.com/w2/auth0-widget-5.2.min.js"></script>
<script>
var widget = new Auth0Widget({
domain: "<?php echo $auth0_cfg['domain'] ?>",
clientID: "<?php echo $auth0_cfg['client_id'] ?>",
callbackURL: "<?php echo $auth0_cfg['redirect_uri'] ?>",
callbackOnLocationHash: true
});
</script>
<button onclick="widget.signin()">Login</button>
</body>
</html>
然后是回调页面,即用户被 Auth0 自动重定向的地方(所以我知道那部分正在工作)。
<?php
require_once 'vendor/autoload.php';
require_once 'config.php';
use Auth0SDK\Auth0;
$auth0 = new Auth0(array(
'domain' => $auth0_cfg['domain'],
'client_id' => $auth0_cfg['client_id'],
'client_secret' => $auth0_cfg['client_secret'],
'redirect_uri' => $auth0_cfg['redirect_uri']
));
$userInfo = $auth0->getUserInfo();
if (!$userInfo) {
print 'No user';
} else {
print 'User';
}
url 中包含令牌信息,并且始终如下所示:
http://localhost/hack/internal.php#access_token=zF...7jWOb&id_token=eyJ0eXAiOi...fvyW8P0DH4k&token_type=bearer
我已经尝试查找一些关于此的 Auth0 教程,但看不到我缺少什么。有没有熟悉 Auth0 的人遇到过这个问题?