2017-12-15 1 views
0

우리는 sonics.js API와 통신하는 Ionic 3을 기반으로하는 기존 앱을 보유하고 있습니다. 오늘 우리는 ADFS를 기반으로 클라이언트에 대한 인증 시스템을 추가해야합니다. 분명히이 클라이언트는 SAML 프로토콜을 사용하는 여러 웹 앱으로 싱글 사인온 (SSO)을 이미 설정했습니다.모바일에 ADFS가있는 SSO

  • 는 SAML은 인증 시스템을 구축하기 위해 (심지어 모바일)가는 방법이다 :

    는 내 질문에 여기에 그런 일을 구현하는 방법에 대한 매우 혼란 오전?

  • ADFS가 Oauth2 끝점을 구현하는 것을 보았습니다. 더 쉬운 방법이 아닙니까?
  • 깨끗하고 안전한 구현을 위해 정보 흐름이 어떻게 생겼습니까?

나는 뭔가가 부족합니까?

미리 도움을 주셔서 감사합니다.

+0

https://github.com/bergie/passport-saml#usage-with-active-directory-federation-services – Booster2ooo

+0

나는 passport-saml을 사용해 보았습니다. 그 이유는 테스트하는 방법을 모르기 때문입니다. 테스트 응용 프로그램을 인증하려면 클라이언트가 필요합니다 (로컬 일 수는 없습니까?). 어떤 제안? –

+0

또한 여권 구성을 위해 어떤 URL을 제공해야합니까? 그것은 모바일이므로 –

답변

0

SAML은 모바일 용으로 적합하지 않습니다. SAML 클라이언트 측 스택이 필요하며 모바일 용 패키지가 많지 않습니다.

OpenID Connect/OAuth는 더 좋은 방법이지만 ADFS 3.0은 이에 대한 지원이 매우 제한적입니다.

기본적으로 web API 만 지원합니다.

위의 링크는 ADFS가 아닌 Azure AD의 프로젝트를 가리 킵니다.

+0

그게 내가 생각한 것입니다. 확인해 주셔서 감사합니다. –

0

대부분의 SAML 프로필은 브라우저를 사용합니다. HTTP_POST 바인딩을 사용하는 웹 브라우저 SSO (WBSSO)와 같은 프로파일 이 경우의 흐름은 다음과 같습니다

  • 사용자가 앱
  • 앱은 클라이언트의 SAML 엔드 포인트
  • SAML 엔드 포인트는 사용자가 이미 세션이 있거나 로그인해야하는지 여부를 결정하는 브라우저를 리디렉션로 이동합니다.
  • 클라이언트의 SAML 엔드 포인트는
  • 앱이 SAML 속성을 얻기 위해 SAMLResponse 매개 변수의 압축을 풀고 그 속성에 따라 권한 부여 결정을 만드는 속성을 포함하는 몸의 앱에 POST를 통해 사용자의 브라우저를 리디렉션합니다. 아마 그들은 이메일 주소, 이름 등을 포함 할 것입니다. 그것은 당신의 앱에 달려 있습니다.

위의 경우 클라이언트의 SAML 끝 점이 IdP 역할을하는 동안 앱이 SAML SP의 역할을합니다.

AD OAuth의 경우 일반적으로 상대방이 귀하를 신뢰할 수 있도록 응용 프로그램을 테넌트 응용 프로그램으로 등록해야합니다. 따라서 브라우저를 통해 속성이 전송되는 URL을 사용자에게 제공해야합니다. gdal에 AD SSO를 구현하기 위해 Microsoft에서 제공하는 많은 프로젝트가 있습니다.

관련 문제