2017-11-29 1 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}
  2. 사용자 로그인으로 리디렉션 된
    • 사용자가
    • 를 잘 작성과 POST my-api.com/v1/saml/consume을 확인 체내 SAMLResponse와 my-api.com/v1/saml/consume를 POST로 리디렉션되었습니다 확인 SAMLResponse는 사용자 서비스 제공자 토큰을 제공 한 다음 초기 URL로 리디렉션합니다. - my-api.com/v1/cats

그리고 2 단계 : "SSO에 대한 사용자 로그인"에서 멈추었습니다. 나는 webform이 아니라 onelogin API를 사용하여 그것을하고 싶다. 그러나 나는 그것에 대한 문서를 찾지 못했습니다. https://{my-app}.onelogin.com/login 페이지를 사용하여 로그인을 수행하는 동안 네트워크 호출을 검사했습니다.

나는 이메일과 비밀번호를 입력하고 클릭하면 폼 데이터를 https://{my-app}.onelogin.com/sessions에 버튼 1. POST 요청 "로그인"authenticity_token={token}&email={email}&password={password}&commit=Log%20in&_= 에 GET 요청을하려면 사용자를 리디렉션 Onelogin (이 우리의 서비스 제공 업체에 의해 생성 된 초기 URL은) 3. 사용자 내가 우체부를 사용하여 단계 1과 같은 몸 https://{my-app}.onelogin.com/sessions에 POST를하려고 노력 my-api.com/v1/saml/consume

로 리디렉션하지만 난

422

검색 : 가공 할 변경 사항을. 어쩌면 너는 너가 접근 할 수없는 무언가를 바꾸는 것을 시도했다.

내 질문 : Onelogin API를 사용하여 SAMLResponse를 검색 할 수 있습니까? 그리고 제가 설명했던 과정이 맞습니까?

답변

0

OneLogin 또는 다른 IDp의 SAML 요청은 요청 본문에 SAMLRequest가있는 양식 게시물입니다. 사용자가 자신의 사이트에서 귀하의 사이트로 반송 (리디렉션)하려고합니다. 일단 사이트에서 SAMLrequest의 유효성을 검사하면 nameid를 사용하여 사용자를 인증하면 완료됩니다.

OneLogin API를 사용하여 응답을 검색하지 않으므로 항상 IDp의 POST 양식입니다.

이 정보가 도움이되기를 바랍니다.