簡體   English   中英

Auth0 getUseInfo空白

[英]Auth0 getUseInfo blank

我試圖連接基本的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';
}

網址中包含令牌信息,並且始終如下所示:

http://localhost/hack/internal.php#access_token=zF...7jWOb&id_token=eyJ0eXAiOi...fvyW8P0DH4k&token_type=bearer

我嘗試查找有關此內容的一些Auth0教程,但看不到我所缺少的內容。 以前有誰熟悉Auth0嗎?

您是從代理后面運行示例嗎? GetUserInfo是服務器到服務器的調用(從您的Web服務器到auth0.com)。 有時(尤其是在公司環境中),禁止非用戶進程訪問流量。

我懷疑是這種情況,因為所有其他交互都可以正常工作(但它們通過瀏覽器而不是Web服務器)。

您可以嘗試通過不位於代理后面的網絡快速連接。

另外,我使用上面提供的access_token測試了您帳戶的userinfo端點(我刪除了BTW,因為它是敏感信息),並且工作正常。 您可以使用Postman之類的工具或類似工具自己進行測試。

(有關詳細信息,請在eugeniop AT auth0.com上向我發送郵件)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM