2017-11-29 12 views
1

SSOプロセスの自動統合テストを作成しています。 私はSAMLのコンセプトを新しくしています。おそらく、不正確または間違った動作を理解していると思います。Onelogin SAMLResponse api request

IdPとしてOneLoginを使用することを選択しました。自動化する手順:

  1. ユーザーが資格情報を必要としないターゲットリソース。例えばmy-api.com/v1/cats
    • を確認したユーザは
      • SSO にhttps://{app}.onelogin.com/trust/saml2/http-post/sso/{app-id}?SAMLRequest={request}
    • ユーザログインにリダイレクトされていることを確認したユーザは、身体の内側にSAML応答とPOST my-api.com/v1/saml/consumeにリダイレクトされた
    • 右にPOST my-api.com/v1/saml/consumeを確認してくださいSAMLResponseはユーザーサービスプロバイダのトークンを与え、最初のURLにリダイレクトします - my-api.com/v1/cats

私はステップ2:「SSOへのユーザーログイン」に固執しています。私はウェブフォームではなく、onelogin APIを使ってやりたいと思っています。しかし、私はそれのためのドキュメントを見つけることはありませんでした。私はhttps://{my-app}.onelogin.com/loginページを使用してログインを実行している間にネットワークコールを検査しました。

私は、メールアドレスとパスワードを入力し、フォームデータとhttps://{my-app}.onelogin.com/sessionsauthenticity_token={token}&email={email}&password={password}&commit=Log%20in&_= 2に 1. POSTリクエストがhttps://{app}.onelogin.com/trust/saml2/http-post/sso/{app-id}?SAMLRequest={request}にGETリクエストをするためにユーザーをリダイレクトOnelogin「ログイン」ボタンをクリックした後(これは私たちのサービスプロバイダによって生成された初期URLです)my-api.com/v1/saml/consume

にリダイレクト 3.ユーザーは私は郵便配達を用いてステップ1と同じ本体とhttps://{my-app}.onelogin.com/sessionsにPOSTを実行しようとしたが、私は

422を取得する:処理不可能変化します。たぶんあなたはアクセス権のないものを変更しようとしました。

私の質問:Onelogin APIを使用してSAMLResponseを取得することは可能ですか?そして、私は正しく説明したプロセスですか?

答えて

0

OneLoginまたは他のIDpからのSAMLリクエストは、リクエストの本文にSAMLRequestを持つフォーム投稿です。ユーザーは自分のサイトから自分のサイトにバウンス(リダイレクト)しようとしています。サイトでSAMLrequestを検証すると、ユーザーを認証するためにnameidが使用され、完了します。

したがって、OneLogin APIを使用してレスポンスを取得することはありません。これは常にIDpのPOST形式です。

こちらがお役に立てば幸いです。

関連する問題