2017-01-15 13 views
0

私はJhipsterとその技術を使ってシステムを開発しました。 Jhipsterが生成したAPIに接続するためにPHPでRESTクライアントを作成しようとしていますが、認証できませんでした。私はphp_curl、guzzleで試してみました。私はいつも401を手に入れました。JHipster API用PHP Restクライアント(セッション認証付き)

誰かがJhipster APIのクライアントレストを持っていて、認証を得る方法を知っていれば助けてください。私はJhipster/springの認証にセッションを使用しています

+0

「http:// localhost:8080/v2/api-docs」のswagger-codegenを使用してPHPクライアントを生成しようとしましたか? https://github.com/swagger-api/swagger-codegen#getting-startedまた、セッション認証にはjssessionid cookieの格納が必要ですが、PHPコードでこれを処理していますか?あなたの投稿には、401を取得したときの詳細が不足しています。 –

+0

ありがとう、私はcodegenを使用してクライアントコードを生成します...優れたツールです。 PHPコードは、ドキュメント '' 'php <?php require_once(__ DIR__。 '/vendor/autoload.php')にshowmeを生成します。 $ api_instance =新しいSwagger \ Client \ Api \ AccountresourceApi(); $ key = "key_example"; //文字列|キー { $ result = $ api_instance-> activateAccountUsingGET($ key);を試してください。 print_r($ result); }キャッチ(例外の$ e)の{ エコー '例外時に呼び出すAccountresourceApi-> activateAccountUsingGET:' は$ e-> getMessage()の、 } > '' 'しかし、私はよ必要私がアクセスできる方法を知っています? "トークン"、任意のアイデア、呼び出す機能や何かに? – yoandypv

答えて

1

セッション認証は、このようなユースケースのための最も簡単な認証メカニズムではないかもしれません。

あなたがする必要があるのは、認証フォーム(「POST」を実行してログイン/パスワードを送信する)を通過することです。これはトークン(Javaアプリケーションの標準である「jsessionid」) 。 Chrome Dev Toolsを使用している場合は、これを確認できます。

次に、次のリクエストにこの "jsessionid"を使用する必要があります。

"Gatling"オプション(利用可能なテストフレームワークで)を使用してアプリケーションを生成すると、認証とリクエストのための正しい設定が生成されます:GatlingはScalaでコード化されていますが、例をコピーすることができます。

+0

ありがとう@julien、私はapi /認証サービスを参照してください角webappのコードを読んで、POST呼び出しを行うには知っている必要がありますが、swagger APIから読み取ることはできません。それは私が必要とする認証のためのサービスですか? – yoandypv