이 자습서에서는 인증하는 단계를 설명합니다. ORCID 신분증. 다음 중 하나를 사용하여 완료 할 수 있습니다. 공개 or 회원 API. 이를 검색하는 단계를 검토합니다. 확인 ORCID iD, 이는 시스템 데이터베이스에 저장될 수 있습니다. 3단계 OAuth(장기 업데이트 권한용)와 암시적 OAuth(읽기 전용 단기 권한용)의 두 가지 옵션이 있습니다.
클라이언트 자격 증명 얻기
클라이언트 자격 증명은 응용 프로그램 / 웹 사이트에서 액세스하는 데 사용할 사용자 이름과 암호입니다. ORCID API. 누구나 읽기 전용 공개 API 자격 증명을 등록할 수 있습니다. ORCID 회원은 회원 API에 등록 할 수 있습니다.
개발자가 공용 API를 테스트하는 것이 좋습니다. 샌드 박스 테스트 서버 프로덕션 버전을 사용하기 전에. 다음은 샌드박스 및 프로덕션 환경 모두에서 공개 API 자격 증명을 등록하는 방법에 대한 단계입니다.
- 에 로그인하여 ORCID 기록:
프로덕션 서버 : https://orcid.org/signin
샌드 박스 테스트 서버 : https://sandbox.orcid.org/signin - 오른쪽 상단에있는 이름을 클릭하세요.
- 개발자 도구 메뉴 옵션에서
참고 : 개발자 도구에 액세스하려면 이메일 주소를 확인해야 합니다. 이메일 주소를 아직 확인하지 않은 경우 공개 API 자격 증명을 등록하기 전에 이메일 주소를 확인하라는 메시지가 표시됩니다. - '를 읽고 동의합니다.ORCID 공용 클라이언트 서비스 약관
- "등록하기"를 클릭합니다. ORCID 공개 API 자격 증명” 버튼을 누릅니다.
신청서 세부 정보 양식 작성
- 공개 API 자격 증명에 등록하면 개발자 도구(https://orcid.org/developer-tools or https://sandbox.orcid.org/developer-tools).
- 새로운 신청서를 등록하려면 제시된 신청서 세부 정보 양식을 작성해야 합니다.
- 성함: 애플리케이션의 이름입니다. 이 정보는 사용자가 애플리케이션을받을 수있는 권한을 부여 할 때 표시됩니다. ORCID iD에 표시되며 신뢰할 수있는 조직 목록. 조직 또는 서비스의 이름 (예 : 저널 이름)을 사용하는 것이 좋습니다.
- 신청 URL: 사용자가 애플리케이션에 대해 자세히 알아보기 위해 방문할 수 있는 웹 사이트입니다. 이것은 또한 그들의 신뢰할 수있는 조직 목록.
- 응용 프로그램 설명: 개발중인 애플리케이션에 대한 정보와 사용자의 ORCID 신분증. OAuth 화면에서 사용자에게 표시됩니다.
첨가 리디렉션 URI
사용자가 애플리케이션을 승인하면 지정한 URI로 반환됩니다. 이러한 URI를 미리 제공해야 합니다. 그렇지 않으면 통합 사용자에게 오류가 발생합니다.
- 제공된 상자에 리디렉션 URI를 입력합니다.
- 1개 이상의 리디렉션 URI를 입력해야 하는 경우 '다른 리디렉션 URI 추가'를 클릭하십시오.
참고 사항 :
- 만 HTTPS URI 생산에 허용됩니다
- 등록된 도메인 MUST 하위 도메인을 포함하여 사용된 도메인과 정확히 일치
- 가능한 경우 모든 리디렉션 URI를 완전히 등록합니다. 이것은 가장 안전한 옵션이며 우리가 권장하는 것입니다. 리디렉션 URI에 대한 자세한 내용은 다음을 참조하세요. 리디렉션 URI FAQ
애플리케이션 저장
신청서를 작성하고 리디렉션 URI를 추가하면 신청서를 저장할 수 있습니다.
- '내 애플리케이션 저장 및 내 클라이언트 생성'을 클릭합니다. ID 그리고 비밀'
이제 공개 API 클라이언트 자격 증명이 포함된 개발자 도구 페이지로 다시 이동됩니다.
자격 증명 업데이트
신청서 정보를 변경하는 것은 매우 간단합니다.
- 해당 정보 수정 후 '지원서 저장' 클릭
자격 증명 사용
이제 자격 증명을 얻었으므로 ORCID 공개 API!
귀하가 회원이 되시면 귀하의 자격 증명을 회원 API로 이전할 수 있습니다. ORCID 회원 에서 귀하를 참조하는 데 사용됩니다.
여러분의 시간과 재능으로 샌드 박스 멤버 API 자격 증명 요청 애플리케이션을 구축하고 테스트합니다. 이러한 자격 증명을 사용하면 샌드박스 프리미엄 회원 API를 호출하여 읽고, 쓰고, 업데이트할 수 있습니다. ORCID 기록. 샌드 박스 테스트 환경에 대한 액세스는 사용자가 아니더라도 누구나 무료로 사용할 수 있습니다. ORCID 회원 조직.
주의 사항: 다음을 사용하는 경우 ORCID 이미 지원하고 있는 인증된 서비스 제공업체 시스템 ORCID, 샌드박스 API 자격 증명을 시험해 보기를 원하지 않는 한 등록할 필요가 없습니다. ORCID 샌드박스 환경 내 통합 기능.
샌드 박스를 사용하면 라이브 (프로덕션) 데이터에 영향을주지 않고 테스트 사용자 계정을 만들고 통합을 개발할 수 있습니다. ORCID 기재. 샌드 박스는 프로덕션과 동일한 방식으로 작동합니다. ORCID 레지스트리 몇 가지 예외.
테스트 계정 만들기
테스트하기 위해 ORCID API 및 API 호출(예: 정보 읽기 및 추가) ORCID 기록하려면 테스트도 만들어야합니다. ORCID 샌드 박스에 기록합니다. 이는 프로덕션에서와 같이 사용자 인터페이스를 통해 수행 할 수 있습니다. ORCID 기재. 이동 https://sandbox.orcid.org/register 계정을 등록하십시오.
우편물 이메일 주소
샌드박스 서버는 다음 사용자에게만 이메일을 보냅니다. 메일 레이터 (@mailinator.com) 메일 서버에 실수로 스팸 메일을 보내지 않도록 이메일 주소. @mailinator.com 주소를 사용하지 않으면 확인 이메일이나 비밀번호 재설정 알림을 받지 못하며 샌드박스 레코드를 수동으로 편집하려면 확인이 필요합니다. 무료 공개 받은편지함에 대해 자세히 알아보기 여기를 클릭해 문의해주세요. 사용을 원하지 않으시면 메일 레이터 주소를 입력한 다음 사용자 이름과 비밀번호를 기록하고(테스트할 때 애플리케이션에 권한을 부여하는 데 사용하므로) 당사에 연락하여 확인 지원을 요청하십시오.
메일 레이터 는 공개 무료 서비스와 비공개 유료 서비스가 있는 이메일 서비스입니다. 테스트를 위해 완전 무료 공공 서비스를 사용할 수 있습니다. 등급에 대해 자세히 알아보기 LINK.
Mailinator는 ORCID. 이러한 주소를 사용하기 전에이 서비스의 작동 방식과 제한 사항을 검토하는 것이 좋습니다.
리디렉션 URL 등록
로그인하면 클라이언트 등록의 일부로 지정한 URL로 사용자가 전송됩니다.
리디렉션 URI는 무엇이며 어떻게 사용됩니까?
리디렉션 URI는 OAuth 인증 서비스에서 보안 수단으로 사용됩니다. ORCID 인증을 요청하는 클라이언트가 등록한 URI에만 인증 사용자를 보냅니다. 이렇게 하면 서비스가 서로 가장하는 것을 방지할 수 있습니다.
참고하여 주시기 바랍니다 HTTPS URI만 생산에 허용됩니다. HTTP URI를 사용하여 테스트할 수 있지만 등록해야 합니다. HTTPS URI 프로덕션 멤버 API 자격 증명을 신청할 때.
리디렉션 URI는 어떻게 일치합니까?
- 하위 도메인을 별도의 URI로 등록해야 합니다.. https://anythingelse.thirdparty.com은 작동하지 않습니다.
- 경로를 포함하여 모든 리디렉션 URI를 완전히 등록하는 것이 좋습니다., 대부분의 제XNUMX자가 하는 일이며 가장 안전한 옵션입니다.
- 클라이언트 앱이 호스트 이름인 리디렉션 URI로 등록된 경우 해당 호스트의 모든 리디렉션 URI를 사용할 수 있습니다.. 예를 들어 다음 리디렉션 URI가 등록된 경우: https://thirdparty.com 그러면 다음 redirect_uris가 모두 작동합니다.
- https://thirdparty.com/oauth/callback1
- https://thirdparty.com/callback2
- https://thirdparty.com/anything-else-as-long-as-the-host-is-the-same
그러나 https://anythingelse.thirdparty.com 작동 안 할 것이다. 자신의 MUST 하위 도메인을 별도의 URI로 등록합니다.
리디렉션 URI가 잘못된 경우 어떻게 됩니까?
인증을 위해 보낸 사용자 ORCID 잘못된 리디렉션 URI를 사용하면 다음과 유사한 오류 메시지가 표시됩니다.
구성원의 리디렉션 URI 관리
회원 API를 사용 중이고 리디렉션 URI를 변경해야 하는 경우 참여 팀에 문의하세요.
공용 클라이언트의 리디렉션 URI 관리
공개 API를 사용하는 경우 아래 단계에 따라 귀하와 연결된 리디렉션 URI 목록을 업데이트해야 합니다. ORCID 공개 API 클라이언트 ID. 아래 단계에 따라 이 작업을 수행할 수 있습니다.
- 귀하의 계정에 로그인하십시오. ORCID 기록
- 오른쪽 모서리에 있는 귀하의 이름을 클릭하십시오
- 개발자 도구 선택
- 고객 이름 옆에 있는 수정 연필을 클릭합니다.
- 기존 리디렉션 URI를 수정하거나 '다른 리디렉션 URI 추가'를 클릭하여 기존 리디렉션 URI를 수정합니다.
- 변경한 후에는 저장 아이콘을 클릭해야 합니다.
HTTPS URI만 생산에 허용됩니다. http URI를 사용하여 테스트할 수 있지만 프로덕션 멤버 API 자격 증명을 신청할 때 HTTPS URI를 등록해야 합니다.
OAuth 구현
아래에서는 지원되는 OAuth의 세 가지 '특성'에 대해 설명합니다. ORCID. 대부분의 프로그래밍 언어에는 통합을 더 쉽게 해주는 OAuth 및/또는 OpenID 라이브러리가 있습니다.
3-legged OAuth
이것은 사용자를 인증하는 표준 방법입니다. ORCID iD 인증된 것과 함께 수명이 긴 업데이트 권한을 얻는 데 사용할 수 있습니다. ORCID 신분증.
ORCID 통합은 "3 legged OAuth"를 사용하여 사용자를 인증하고 레코드와 상호 작용할 수 있는 권한을 요청합니다. 모든 통합은 공개 API를 사용하여 읽기 권한을 요청할 수 있습니다. ORCID 회원은 회원 API를 사용하여 업데이트 권한을 요청할 수 있습니다. 다음과 같이 작동합니다.
- 특별한 링크를 만듭니다.
- 클릭하면 사용자가 ORCID
- ORCID 사용자에게 로그인을 요청합니다.
- ORCID 사용자에게 애플리케이션에 대한 권한 부여를 요청합니다.
- ORCID 사용자를 인증 코드와 함께 시스템으로 다시 보냅니다.
- 시스템은 해당 코드를 액세스 토큰으로 교환합니다.
사용자 정의된 승인 URL에는 귀하의 클라이언트 정보뿐만 아니라 귀하가 액세스하려는 기록의 특정 영역을 지정하는 '범위'도 포함됩니다. 로그인한 후 사용자는 시스템 연결을 승인하고 인증 코드와 함께 랜딩 페이지로 돌아갑니다. 그런 다음 이 코드를 사용하여 ORCID iD 요청된 범위에 유효한 액세스 토큰과 함께.
인증 링크를 만들고 인증 코드를 가져옵니다.
API 자격 증명의 클라이언트를 지정하여 인증 링크를 구축합니다. ID 및 관련 랜딩 페이지(리디렉션 URI). 설정을 통해 요청할 권한을 선택합니다. 범위 매개 변수.
아래 예제는 액세스가 제한된 데이터를 읽을 수있는 권한을 요청합니다. ORCID 샌드박스 테스트 서버. 실제로는 이 링크를 웹사이트에 표시하거나 사용자에게 인증 및 권한 부여를 요청할 때 이메일에 포함시킵니다. 그러나 테스트 목적으로 간단히 웹 브라우저에 붙여넣을 수 있습니다. 괄호 안의 데이터를 고객 정보로 바꾸고 대괄호를 제거하세요!
https://sandbox.orcid.org/oauth/authorize?client_id=[Your client ID]&response_type=code&scope=/read-limited&redirect_uri=[Your landing page]
사용자가 링크를 클릭하고 로그인 한 경우 ORCID 부여 된 권한은 다음과 같이 사이트로 다시 리디렉션됩니다.
https://[Your landing page]?code=Q70Y3A
승인 코드를 ORCID iD 및 액세스 토큰
즉시 승인 코드를 교환해야합니다. ORCID iD 및 액세스 토큰. 인증 코드는 사용 시 만료됩니다. 요청은 다음과 같습니다. 웹 브라우저에서 만들 수 없습니다, 서버에서 만들어야합니다.
URL=https://sandbox.orcid.org/oauth/token
HEADER: Accept: application/json
HEADER: Content-Type: application/x-www-form-urlencoded
METHOD: POST
DATA:
client_id=[Your client ID]
client_secret=[Your client secret]
grant_type=authorization_code
code=Six-digit code
redirect_uri=[Your landing page]
ORCID 그런 다음 연구원의 인증을 반환합니다 ORCID iD JSON 형식의 액세스 토큰:
{"access_token":"f5af9f51-07e6-4332-8f1a-c0c11c1e3728","token_type":"bearer",
"refresh_token":"f725f747-3a65-49f6-a231-3e8944ce464d","expires_in":631138518,
"scope":"/read-limited","name":"Sofia Garcia","orcid":"0000-0001-2345-6789"}
액세스 토큰은 기본적으로 오래 사용되며 발행 후 20 년이 지나면 만료됩니다. 토큰은 만료되기 전에 여러 번 사용할 수 있습니다.
액세스 토큰 사용
3-legged 액세스 토큰은 특정 ORCID 기록. 이를 사용하려면 해당 레코드를 읽거나 업데이트하기 위해 수행하는 API 요청에 이를 포함시킵니다.
암시 적 OAuth
이것은 브라우저 중심의 사용자 인증 방법입니다. ORCID iD 업데이트 권한이 필요하지 않은 브라우저 기반 응용 프로그램에서 사용합니다.
암시적 OAuth는 서버 측 구성 요소가 없거나 사용을 원하지 않는 시스템에서 사용하도록 설계된 경량 버전의 OAuth입니다. 암시적 OAuth는 자바스크립트만 사용하여 브라우저에서 완전히 구현할 수 있습니다. 회원 및 비회원 모두 사용 가능하며 다음과 같이 작동합니다.
- 특별한 링크를 만듭니다.
- 클릭하면 사용자가 ORCID
- ORCID 사용자에게 i에 서명하도록 요청합니다.
- ORCID 사용자에게 애플리케이션에 대한 권한 부여를 요청합니다.
- ORCID 사용자를 시스템으로 다시 보냅니다. ORCID iD, 액세스 토큰 및 id 토큰.
- 시스템은 인증 된 것을 추출하고 저장합니다. ORCID iD 응답에서.
보안상의 이유로 암시 적 OAuth를 사용할 때 ORCID 업데이트 권한이있는 액세스 토큰을 반환하지 않습니다.
암시 적 흐름
암시 적 흐름은 클라이언트가 시작하기 위해 비밀 키를 사용할 필요가 없도록 설계되었습니다. ORCID 로그인하십시오. 클라이언트를 등록 된 redirect_url로 제한하여 보안을 강화합니다. 이 낮은 수준의 보안은 ORCID 암시 적 흐름을 사용할 때 / authenticate 및 openid 범위 만 지원합니다. 토큰은 수명이 10 분으로 짧습니다. 이 흐름은 백엔드 서버에 액세스 할 수없는 클라이언트 측 애플리케이션 (예 : 전화 애플리케이션 또는 단일 페이지 자바 스크립트 웹 애플리케이션)에 권장됩니다.
https://localhost/#access_token=24c11342-f5da-4cf9-94a4-f8a72a30da00&token_type=bearer&expires_in=599&tokenVersion=1&persistent=false&id_token=eyJraWQiOiJxYS1vcmNpZC1vcmctcjlhZmw3cWY2aG2c5bmdzenU1bnQ3Z3pmMGVhNmkiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiMW52bXZBbVdwaVd0Z3ZKZW1DQmVYUSIsImF1ZCI6IkFQUC02TEtJSjNJNUIxQzRZSVFQIiwic3ViIjoiMDAwMC0wMDAyLTUwNjItMjIwOSIsImF1dGhfdGltZSI6MTUwNTk4Nzg2MiwiaXNzIjoiaHR0cHM6XC9cL29yY2lkLm9yZyIsIm5hbWUiOiJNciBDcmVkaXQgTmFtZSIsImV4cCI6MTUwNTk4ODQ2MywiZ2l2ZW5fbmFtZSI6IlRvbSIsImlhdCI6MTUwNTk4Nzg2Mywibm9uY2UiOiJ3aGF0ZXZlciIsImZhbWlseV9uYW1lIjoiRGVtIiwianRpIjoiY2U0YzlmNWUtNTBkNC00ZjhiLTliYzItMmViMTI0ZDVkNmNhIn0.hhhts2-4-ibjXPW6wEsFRaNqV_A-vTz2JFloYn7mS1jzQt3xuHiSaSIiXg3rpnt1RojF_yhcvE9Xe4SOtYimxxVycpjcm8yT_-7lUSrc46UCt9qW6gV7L7KQyKDjNl23wVwIifpRD2JSnx6WbuC0GhAxB5-2ynj6EbeEEcYjAy2tNwG-wcVlnfJLyddYDe8AI_RFhq7HrY4OByA91hiYvHzZ8VzoRW1s4CTCFurA7DoyQfCbeSxdfBuDQbjAzXuZB5-jD1k3WnjqVHrof1LHEPTFV4GQV-pDRmkUwspsPYxsJyKpKWSG_ONk57E_Ba--RqEcE1ZNNDUYHXAtiRnM3w
우리를 참조하십시오 기술 문서
오픈아이디
OpenID는 OAuth를 기반으로 구축되었으며 몇 가지 추가 기능을 제공합니다.
OpenID Connect 1.0은 OAuth 2.0 프로토콜 위에있는 간단한 ID 계층입니다. 기존 OAuth 인증 흐름을 보완하고 잘 설명 된 방식으로 사용자에 대한 정보를 클라이언트에 제공합니다.
OpenID connect는 OAuth를 구현하고 인증 된 사용자에 대한 정보를 공유하는 표준화 된 방법입니다. 이제 사용할 서비스를 구성 할 수 있습니다. ORCID 다른 표준을 준수하는 OpenID 연결 제공자와 함께 "즉시 사용 가능"합니다. OpenID 연결은 또한 공유 가능 ID 토큰은 다음을 사용하여 인증된 사용자를 증명할 수 있는 서명된 개체입니다. ORCID 특정 시간에. 이러한 토큰은 사용자 세션을 유지하기 위해 사용자 인터페이스 요소에서 사용할 수 있습니다.
ORCID OAuth 인증 코드 흐름의 확장 인 기본 OpenID 공급자 적합성 프로필을 지원합니다. ORCID 또한 "/ authenticate"및 "openid"범위에 대한 암시 적 토큰 흐름을 지원합니다.
즉 ORCID:
- Embed 서명됨 id 'openid' 범위로 생성된 인증 코드에 대한 토큰 응답 내의 토큰
- 'token'또는 'token id_token'response_types 및 'openid'범위를 사용할 때 암시 적 흐름을 지원합니다.
- 'openid'범위를 포함하는 권한 요청에 대해 'prompt', 'nonce'및 'max_age'매개 변수를 지원합니다.
- Openid Connect 검색 및 사용자 정보 끝점 지원
- 'openid' 범위를 포함하는 인증 요청에 대해 멤버 API를 사용하는 통합자를 위한 'amr' 필드를 지원합니다. 이는 사용자가 이중 인증을 사용하여 인증되었는지 검색하는 데 사용할 수 있습니다.
OpenID Connect 인증 시작은 일반 OAuth 인증과 동일한 방식으로 작동합니다. 필요한 것은 클라이언트가 'openid'범위를 요청하는 것입니다. / authenticate 범위를 사용하는 경우이를 openid로 바꾸십시오. 인증 및 openid는 동일한 권한을 가지므로 둘 중 하나만 사용해야합니다. 다른 범위를 사용하는 경우 요청 된 범위 목록에 openid를 추가합니다. openid 범위가 포함되면 레지스트리는 토큰 응답 내에서 id_token을 반환하고 해당 사용자의 사용자 정보 끝점에 액세스 할 수있는 클라이언트 권한을 부여합니다.
'openid' 범위는 다른 것과 같이 '/'로 시작하지 않습니다. ORCID API 범위. 이것은 'openid'범위가 다음에 의해 정의되지 않았기 때문입니다. ORCID이지만 대신 OpenID Connect 사양에 의해 정의됩니다.
우리를 참조하십시오 기술 문서
다음을 사용하여 인증 된 iD 수집 ORCID의 OAuth 자바 스크립트 위젯
ORCID 간단한 제공 자바 스크립트 위젯 인증 획득에 사용할 수있는 ORCID OpenID Connect와 함께 OAuth를 사용하는 iD.
위젯은 암시 적 OAuth를 사용하므로 쓰기 권한을 수집하지 않습니다. 이는 레코드를 업데이트하려는 멤버 통합에 적합하지 않음을 의미합니다. 자습서를 참조하십시오. 데이터 추가 및 업데이트 ORCID 기록.