ORCID 統合では、「3レッグOAuth」を使用してユーザーを認証し、ユーザーのレコードを操作するためのアクセス許可を要求します。 どの統合でも、パブリックAPIを使用して読み取り権限を要求できます。 ORCID メンバーは、メンバーAPIを使用して更新権限を要求できます。 それはこのように動作します:
- 特別なリンクを作成します
- クリックすると、ユーザーはに送信されます ORCID
- ORCID ユーザーにサインインするように求めます
- ORCID アプリケーションに権限を付与するようにユーザーに要求します
- ORCID 認証コードを使用してユーザーをシステムに送り返します
- システムはそのコードをアクセストークンと交換します
カスタマイズされた認証URLには、クライアント情報と、アクセスするレコードの特定の領域を指定する「スコープ」が含まれます。 サインインした後、ユーザーはシステムとの接続を承認し、承認コードとともにランディングページに戻ります。 次に、このコードを使用して、 ORCID iD 要求されたスコープに有効なアクセストークンとともに。
認証リンクを作成し、認証コードを取得してください
API認証情報のクライアントIDと関連するランディングページ(リダイレクトURI)を指定して認証リンクを作成します。設定によって要求する権限を選択します。 スコープパラメータ.
以下の例では、アクセスが制限されたデータを読み取る許可を要求しています。 ORCID サンドボックステストサーバー。 現実の世界では、このリンクをWebサイトに表示するか、ユーザーに認証と承認を求めるときに電子メールに含めます。 ただし、テストの目的で、Webブラウザに貼り付けるだけで済みます。 角かっこで囲まれたデータをクライアント情報に置き換え、角かっこを必ず削除してください。
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 とアクセストークン。 認証コードは使用時に期限切れになります。 リクエストは次のようになり、 Webブラウザでは作成できません、サーバーで作成する必要があります。
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本足のアクセストークンは特定のものにリンクされています ORCID 記録。 それらを使用するには、そのレコードを読み取ったり更新したりするために作成するAPIリクエストにそれらを含めます。