SSOプロセスの自動統合テストを作成しています。 私はSAMLのコンセプトを新しくしています。おそらく、不正確または間違った動作を理解していると思います。Onelogin SAMLResponse api request
IdPとしてOneLoginを使用することを選択しました。自動化する手順:
- ユーザーが資格情報を必要としないターゲットリソース。例えば
my-api.com/v1/cats
- を確認したユーザは
- SSO に
https://{app}.onelogin.com/trust/saml2/http-post/sso/{app-id}?SAMLRequest={request}
- SSO に
- ユーザログインにリダイレクトされていることを確認したユーザは、身体の内側に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/sessions
authenticity_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を取得することは可能ですか?そして、私は正しく説明したプロセスですか?