0

私は基本的な 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 に精通している人で、これに遭遇したことはありますか?

4

1 に答える 1

4

プロキシの背後からサンプルを実行していますか? GetUserInfoサーバーからサーバーへの呼び出しです (Web サーバーから auth0.com へ)。場合によっては (特に企業環境で)、ユーザー以外のプロセスからのトラフィックがブロックされることがあります。

他のすべての対話は正常に機能するため (ただし、それらは Web サーバーではなくブラウザーを介して行われる)、これが事実であると思われます。

プロキシの背後にないネットワークを介して接続して、これをすばやく試すことができます。

userinfoまた、上記で提供されたアカウントのエンドポイントをテストしましたaccess_token(これは機密情報であるため削除しました)。問題なく動作します。これは、Postman または同等のツールから自分でテストできます。

(詳細については、eugeniop AT auth0.com で私に ping を送信してください)

于 2014-09-14T00:09:50.113 に答える