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 요청에 이를 포함시킵니다.