步 2 个(共 5 个)
2.收集认证 ORCID ID 和权限
在此步骤中,了解如何获得经过身份验证的 iD 以及读取和写入数据所需的权限 ORCID 记录。
ORCID 集成使用“三足OAuth” 来验证用户身份并请求与他们的记录进行交互的权限。 ORCID 会员可以使用会员 API 请求读写权限。
在本节中,我们将介绍您自己的自定义集成需要完成的步骤才能获得经过身份验证的 iD 和读取和写入的权限 ORCID 记录
获得认证 iD 并记录用户的访问权限涉及以下内容 身份验证 2.0,一种用于授权的行业标准协议。 OAuth 允许用户授予网站或应用程序访问存储在另一个站点上的帐户信息的权限,而无需向该站点提供密码。
如果您曾经使用 Google 或 Facebook 而不是该特定站点的凭据登录到站点,那么您已经使用了 OAuth!
OAuth 过程包括 3 个步骤:
- 创建授权 URL
- 获取授权码
- 交换访问令牌的授权码
要启动 OAuth 流程,我们需要创建一个特殊的授权 URL,将用户发送到 ORCID 登录屏幕。 该网址由 授权端点,加 参数 标识您的组织和您要请求的权限。
产品型号 | 课程描述 | 例如: |
---|---|---|
响应类型 | 码 | |
范围 | 您要从列表中请求权限的 API 操作 ORCID 领域 | /人/更新/活动/更新 /读限制 /认证 |
CLIENT_ID | 您的会员客户端 ID (由...发出 ORCID) | [应用程序- ***] |
重定向 uri | 用户在完成授权过程后将看到的页面。 (对于本教程,它将是 Google OAUth Playground) | https://developers.go ogle.com/oauthplayground |
请求添加/更新活动(从属关系、资金、作品、同行评审、研究资源)以及添加/更新个人项目(其他名称、关键字、国家、研究人员网址、网站和个人外部标识符)的许可,以及阅读 ORCID 记录,授权 URL 将是:
https://sandbox.orcid.org/oauth/authorize?client_id=[APP-****************]&response_type=code&scope=/read-limited%20/activities/update%20/person/update&redirect_uri=https://developers.google.com/oauthplayground
但是我们可以使用 Google OAuth playground 来帮助我们构建授权 URL
- 将 /activities/update、/person/update、/read-limited 添加到 scopes 字段中,然后单击 Authorize API's。
授权 URL 将使用您在配置和范围字段中输入的信息创建。
- An ORCID 将出现登录屏幕; 使用您用于创建您的电子邮件地址和密码的电子邮件地址和密码登录您的沙盒帐户 ORCID 本教程开头的帐户。 登录后,将出现 OAuth 屏幕。 客户名称和相关范围将显示在此屏幕上。 要授予访问权限,您需要单击“授权访问'
- 授予权限后,您将被重定向回 Google OAuth Playground,因为这是与您的 Sandbox 凭据关联的重定向 URI。 一个 6 个字符的授权码将出现在浏览器地址栏中重定向 URI 的末尾(以及 谷歌oauth游乐场页面左侧的部分)
Secure https://developers.google.com/oauthplayground/code=s536Z5
获得授权码后,您可以将其交换为访问令牌和经过身份验证的 iD 登录的用户,您需要它才能执行您请求权限的 API 操作。
在实际情况下,这种交换将由您的系统使用 PHP、Java 或 Ruby on Rails 等编程语言完成。 在本教程中,我们将使用 Google OAuth Playground 来模拟 Web 应用程序。
- 点击 '交换令牌的授权码'
一旦你点击“代币兑换授权码” 您的访问令牌和经过身份验证的 iD 将出现在 请求/响应 右侧的部分。 请看下面的例子:
{
"name": "Sophia Garcia"
"access_token": "53737721-9cdb-442a-8b77-409609bb5e43",
"expires_in": 631138518,
"token type": "bearer",
"orcid":
"0000-0002-4456-8947"
"scope": "read-limited /activities/update person/update "
"refresh token": "cOfc38fd-291e-4633-a365-6f4afa304344"
}
- 保存这个令牌!
保存您在上述步骤中收到的令牌很重要,因为您可以轻松地创建您需要使用它进行的任何调用。 我们建议您存储完整的令牌交换响应
您现在已经收集了一个经过验证的 ID 并获得用户阅读他们的许可 ORCID 记录和更新他们的 ORCID 记录。