OpenID 위임은 신뢰 당사자에서 어떻게 작동하나요?최근에 사양이 바뀌었나요?
-
05-07-2019 - |
문제
이 시나리오를 고려하십시오.내 식별자로 사용하는 자체 웹사이트가 있지만 설명된 대로 제3자 OpenID 공급자(내 경우에는 yahoo)를 사용합니다. 여기, stackoverflow 및 sourceforge와 같은 신뢰 당사자(RP) 웹 사이트에 로그인합니다.
그것은 현명한 조치인 것 같았습니다.
- 나는 OpenID 제공업체에 얽매이지 않습니다. 왜냐하면 Yahoo가 더 이상 서비스를 제공하지 않거나 비용을 청구하기 시작하거나 더 이상 그들을 신뢰하지 않을 경우 고통 없이 제공업체를 변경할 수 있기 때문입니다.
- 내 서버에 OpenID 공급자를 설치하고 유지 관리하는 데 따른 경제적, 관리적, 보안 부담이 없습니다.
질문
RP는 어떻게 작동하나요?내 이해는 식별자를 사용해야한다는 것입니다 나 공급자(yahoo)를 인증용으로만 제공하고 사용합니다(식별용이 아님).그 맞습니까?최근에 뭔가 바뀌었나요?확실히 말하자면, 내 신분증은 다음과 같아야 합니다.
http://www.mysite.com/myPreferredUrl
그리고는 아니다
https://me.yahoo.com/myYahooId (위 웹사이트에 설명된 대로 내 웹사이트가 인증을 "리디렉션"하는 곳입니다)
참고 사항
제가 이 질문을 드리는 이유는 현재 상황이 문제가 있는 것 같기 때문입니다(몇 달 전에는 괜찮았습니다).stackoverflow에 로그인을 시도하면 mysite.com URL을 작성하고, 내가 로그인한 Yahoo 웹사이트로 올바르게 "리디렉션"되며, "Stackoverflow를 계속할 것인지" 묻는 메시지가 나타납니다. 예, "리디렉션"되고 stackoverflow 사이트에 "이것은 이전에 본 적이 없는 OpenID입니다"가 표시됩니다. 여기에는 내 Yahoo ID가 표시되고 실제로는 잠겨 있습니다!
버그인가요, 아니면 뭔가 빠졌나요?
추신:제가 이 질문을 어떻게 작성하고 있는지 궁금하시다면 제가 사용하는 많은 컴퓨터 중 하나에 브라우저에 여전히 유효한 쿠키가 있기 때문입니다....
편집하다:아래 Andrew Arnott의 답변은 내 문제를 해결하는 방법을 제안했습니다(예:다른 공급자로 전환).하지만 나는 여전히 몇 가지 세부 사항에 관심이 있습니다.위임과 관련하여 OpenID 1.1에서 2.0으로 변경된 사항은 무엇입니까?사양에서 공급자가 위임을 "중단"하도록 선택한 이유는 무엇입니까?더 많이 설명할수록 답변이 승인될 확률이 높아집니다.
해결책
나는 Andrew의 대답이 매우 정확하다고 믿습니다.내가 추가할 수 있는 유일한 것은 v2.0 사양이 어떻게 그렇게 되었는지, 공급자가 위임을 사용하지 않도록 선택할 수 있게 되었는지에 대한 것입니다.동기 부여 중 하나는 사용자가 "yahoo.com"을 입력(또는 Yahoo 버튼 클릭)한 다음 선택한 ID가 서버에서 id_res 응답으로 반환되는 서버 지정 ID 선택이라고 생각합니다.또한 이를 통해 서버는 전송할 ID에 대한 선택권을 제공하거나(Yahoo가 수행함) 각 RP에 고유 식별자를 전송(Google이 수행함)하는 등의 작업을 수행할 수 있습니다.
이는 또한 필요한 모든 정보가 id_res
이는 RP가 자신의 상태를 저장할 필요가 없음을 의미합니다. checkid
응답을 처리하기 위해 요청합니다.실제로 공급자는 id_res
RP가 시작하지 않고 RP에 직접 응답합니다. checkid
아예 요청하지 마세요.
v1.x 제공자는 위임이 저녁에 이루어졌을 때 전혀 인식하지 못했습니다.이 디자인은 공급자가 위임을 지원하지 않도록 선택하는 것을 방지했지만 일부 UI 문제도 해결했습니다.위임된 "joesmith.org" ID를 실제로 사용할 때 "joe.coolprovider.com" ID를 제공할지 묻는 메시지가 표시됩니다.
그래서 절충안이 있습니다.위임은 여전히 가능하므로 정말로 위임을 원하는 사용자(이런 대규모 사이트의 사용자 수에 비해 작아질 것임)가 필요한 기능을 제공하는 공급자를 선택할 수 있기를 바랍니다.(즉, 시장이 이를 해결하도록 놔두는 것입니다.)
다른 팁
Yahoo가 OpenID 위임을 지원하지 않는 것 같습니다.즉, StackOverflow 및 기타 RP는 자신의 식별자에 대한 검색을 수행하고 위임 인증 요청을 올바르게 설정할 수 있지만 Yahoo는 다음에서 제공한 식별자 대신 자신의 식별자에 대한 ID 어설션을 보내기로 선택했을 수 있습니다(아마도 사양에 반함). RP.
사양은 OpenID 1.1에서 2.0으로 변경되지 않았습니다.사양은 Yahoo!의 행동을 제안하거나 지지하지 않으며 오직 Yahoo만이 그들의 추론에 대해 권위 있게 논평할 수 있습니다.
StackOverflow 위임은 여전히 작동합니다.야후가 당신을 망친 것 같습니다.인증을 위임할 사람을 변경하여 위임이 제공한 혜택을 활용하는 것이 좋습니다.예를 들어 www.myopenid.com은 위임을 지원합니다.이를 가리키도록 자신의 식별자를 변경하면 다시 예전의 모습으로 StackOverflow에 돌아갈 수 있습니다.:)