TOC 
J. Hoyt
J. Daugherty
JanRain
D. Recordon
VeriSign
June 30, 2006

오픈아이디 간이 등록 확장 1.0 (OpenID Simple Registration Extension 1.0)

Abstract

OpenID Simple Registration 은 OpenID 인증 프로토콜의 확장으로 아주 가벼운 프로파일 교환을 제공한다. 이 확장은 최종 사용자가 어떤 웹서비스에 새 계정을 등록할 때 흔히 요청되는 8 개의 정보를 전달하도록 설계되었다.

 


목차

1.  요구 사항 표시법
2.  용어
3.  요청 형식
4.  응답 형식
5.  보안 고려 사항
6.  Normative References
§  Authors' Addresses

 

 


 TOC 

1. 요구 사항 표시

이 문서의 요구 사항 수준을 정확히 표현하기 위해 한글 표현 이외에도, 영문 키워드들 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL" 을 [RFC2119] (Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels,” .) 에 정의된 의미로 괄호안에 추가 표시 한다.

 


 TOC 

2. 용어

최종 사용자 (End User):
Consumer 에게 자신의 아이덴티티를 증명하고자 하는 실제 사람.
Consumer:
제시한 Identifier가 최종 사용자의 소유인지 검증하고 싶은 웹 서비스.
Identity 제공자 (Identity Provider):
또는 "IdP" 나 "서버" 로도 불린다. 제시한 Identifier가 최종 사용자의 소유임을 암호학적으로 증명받기 위해 Consumer 가 접속하는 OpenID 인증 서버이다.

 


 TOC 

3. 요청 형식

여기에 명기된 요청인자들은 반드시(SHOULD) OpenID 인증 checkid_immediate 또는 checkid_setup 요청에 함께 보내져야 한다.

아래의 모든 필드들은 선택적이지만, (이 확장 요청을 위해서는) 요청에 "openid.sreg.required" 또는 "openid.sreg.optional"  중 적어도 하나는 반드시(MUST) 명시되어야 한다.

openid.sreg.required:
콤마로 구분된 필수 필드명 목록으로, 만약 응답에 누락될 경우, Consumer 는 (추가적인) 사용자 개입없이 등록을 완료할수 없을 것이다. 필드명들은 Response Format (Response Format) 에 명시된 것들에서 "openid.sreg" 을 제거한 것들이다. 
openid.sreg.optional:
콤마로 구분된 필드명 목록으로, Consumer 에 의해서 사용되기는 하지만, 없어도 등록을 완료하는데 지장은 없다. 필드명들은 Response Format (Response Format) 에 명시된 것들에서 "openid.sreg" 을 제거한 것들이다.
openid.sreg.policy_url:
Consumer 가 최종 사용자에게 제공하는 URL 로, 사용자의 프로파일 데이타가 어떻게 사용될 지에 대한 내용을 제공한다. 생략되지 않은 경우, IdP 는 반드시(SHOULD) 이 URL 을 사용자에게 제시하여야 한다.

 


 TOC 

4. 응답 형식

아래 필드들은 "openid.mode" 값이 "id_res" 인 경우 반드시 (SHOULD) IdP 의 응답에 포함되어야 한다. 응답의  "openid.signed" 필드 목록은 반드시(MUST) 등록필드명들을 포함해야 하며, 필드명들은 "openid." 만 뺀다(예, sreg.nickname).   "openid.sig" 필드는 OpenID 인증 스펙에 따른 OpenID 데이타 뿐만 아니라 sreg. 필드들을 위한 서명도 제공해야 한다(MUST).

만약 Consumer 의 서명 검증이 실패하면, IdP 로부터의 어떤 등록 데이타도 사용되어서는 안된다(SHOULD). Consumer 는 반드시 required 또는 optional 로 표시되었지만 빠진 필드가 있는 응답에 준비되어 있어야 한다(MUST). 필수 필드가 빠졌거나, 요청되지 않는 부차적인 필드가 있는 경우의 대처는 Consumer 에 달려있다.  이러한 경우 Consumer 는 (전통적으로) 최종 사용자에게 직접 받았을 때와 같이 처리해야 한다(SHOULD).

응답에 한 필드가 반복되면 안되며 (MUST NOT), 포함된 모든 필드들은 이 스펙에 명시된 필드들이어야 한다(MUST).

IdP 는 응답에 아래의 필드들의 임의의 일부를 돌려줄 수도 있다 (MAY):

openid.sreg.nickname:
최종 사용자가 닉네임으로 사용하기 원하는 임의의 다국어 (UTF-8) 문자열.
openid.sreg.email:
최종 사용자의 이메일 주소로, 스펙은 [RFC2822] (Resnick, P., “Internet Message Format,” .) 의 섹션 3.4.1 에 명시.
openid.sreg.fullname:
최종 사용자의 성명(fullname) 으로 다국어(UTF-8) 문자열, (인증된 실명은 아닐 수 있음)
openid.sreg.dob:
최종 사용자의 생년월일로 형식은 YYYY-MM-DD. 명시된 자리수 보다 적은 경우, 빈자리들은 모두 0 으로 채워져야 한다. 따라서 문자열의 길이는 반드시(MUST) 항상 10 이다. 만약 최종 사용자가 년,월,일 중 특정값이 밝혀지길 원하지 않는다면,  그 값은 반드시(MUST) 자리수 만큼 0 으로 채워져야 한다.
예를 들어, 어떤 최종 사용자가 생일의 년도는 1980 이지만, 월과 일을 밝히고 싶지 않다면, 넘겨준 값은 반드시(SHALL) "1980-00-00" 이어야 한다. 
openid.sreg.gender:
최종 사용자의 성별 코드로, 남자는 "M", 여자는 "F".
openid.sreg.postcode:
최종 사용자의 국가의 우편체계에 따른 우편번호, 다국어(UTF-8) 문자열.
openid.sreg.country:
최종 사용자의 거주 국가 코드로, ISO3166 에 명시된 코드값.
openid.sreg.language:
최종 사용자가 선호하는 언어로, ISO639 에 명시된 언어 코드값.
openid.sreg.timezone:
TimeZone database 에 명시된 시간대 ASCII 문자열.
예를 들면, "Europe/Paris" 또는 "America/Los_Angeles".

 


 TOC 

5. 보안 고려 사항

없음.

 


 TOC 

6. Normative References

[RFC2119] Bradner, B., “Key words for use in RFCs to Indicate Requirement Levels.”
[RFC2822] Resnick, P., “Internet Message Format.”
[openid_authentication] Recordon, D. and B. Fitzpatrick, “OpenID Authentication 1.1.”

 


 TOC 

Authors' Addresses

Josh Hoyt
JanRain, Inc.
5331 SW Macadam Avenue
Suite #375
Portland, OR 97239
USA
Email: josh@janrain.com
   
Jonathan Daugherty
JanRain, Inc.
5331 SW Macadam Avenue
Suite #375
Portland, OR 97239
USA
Email: jonathan@janrain.com
   
David Recordon
VeriSign, Inc.
487 E Middlefield Road
Mountain View, CA 94109
USA
Email: drecordon@verisign.com