1

나는 새로운 프로젝트를위한 인증 계획을 설계하고있다. 사람들은 OpenID을 사용하여 Google/Facebook/Microsoft 등의 계정을 통해 인증 할 수 있습니다. 이 모든 공급자는 이중 인증을 지원합니다.OpenID 보안 주체가 이중 인증을 통과했는지 묻습니다.

목표는 간단합니다. 사용자가 OpenID 사용자를 사용하여 등록하거나 로그인 할 때 인증 서비스를 쿼리하고 사용자가 두 가지 요소 인증을 사용하도록 설정했는지 여부를 알려야합니다. 그가 한 경우, 두 단계 모두를 통과 한 "환영 사용자", 그렇지 않으면 "미안하지만이 사이트는 매우 안전하며 이중 인증을 사용해야합니다".

현재 서비스를 사용하는 것이 가능합니까? 나는 Google docs을 읽고 그것에 대해 아무것도 발견하지 못했습니다. OpenID Connect는 토큰에 대한 "2 단계 인증"속성이나 악용 될 수있는 "강도"속성을 지원하지 않기 때문에 그러한 정보를 공개 할 수있는 특정 프로파일 API에 의존해야합니다. 하지만 적어도 Google API에서는 아직 아무 것도 발견하지 못했습니다.

+0

가능한 복제본 http://stackoverflow.com/q/27484582/50447 –

+0

stackoverflow.com/q/27484582/50447은 OAuth에 관한 것이므로이 질문은 OpenID –

답변

1

레코드의 경우 : OpenID 2.0과 OpenID Connect는 서로 다른 프로토콜입니다. 대부분의 공급자는 이전 OpenID 2.0 표준에서 OpenID Connect쪽으로 이동하고 있습니다.

Facebook은 OpenID 2.0이나 OpenID Connect를 지원하지 않지만 OAuth 2.0 위에 구축 된 자체 로그인 프로토콜을 사용합니다. Google은 OpenID Connect에 대한 지원으로 OpenID 2.0 지원을 중단했습니다. Microsoft는 LiveID 용 OpenID 2.0을 지원하지만 OpenID Connect로 전환하고 있습니다. Azure 광고 계정은 이미 OpenID Connect를 지원합니다.

OpenID Connect는 다양한 인증 방법을 지원하며 클라이언트는 인증 요청의 일부로 요청 된 클레임 집합에서 acr 클레임을 사용하여 지정된 값을 요청할 수 있습니다 (http://openid.net/specs/openid-connect-core-1_0.html#acrSemantics 참조). 공급자는 id_token에 요청 된 값 중 하나와 일치하는 acr 클레임 값을 반환해야합니다. 공급자는 인증에 사용 된 인증 방법의 식별자 인 JSON 배열의 문자열 인 amr 클레임을 반환 할 수도 있습니다.

당신이 대답은 "아니오"될 수 있도록 마이크로 소프트 애저 광고가 id_token에서 amr 주장을 반환 않지만, 아직 acr 개념을 지원하지 않는 언급 불행히도 제공.

+0

에 대한 것이므로 중복되지 않습니다. "언급 한 공급자는 acr 개념을 지원하지 않습니다."라는 문구를위한 소스. –