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 요청에 포함합니다.