Java调用Linkedin接口API之:获取授权
配置领英应用
配置地址:https://www.linkedin.com/secure/developer?newapp=
强烈建议您使用 HTTPS
网址必须是绝对网址 (例如: “https://example.com/auth/callbac”,而不是“/auth/callback”)
网址参数会被忽略 (即 https://example.com/?id=1 与 https://example.com/ 相同)
网址中不得包含 #'s (即“https://example.com/auth/callback#linkedin”是无效网址)
关键配置项:
保存配置后,系统将为应用分配一个唯一的“客户端 ID” (也称为“用户密钥”或“API 密钥”) 和“客户端密钥”值。请记录这些值,因为您在应用的配置文件或实际代码过程中需要使用这些值,例如:
请求授权代码
GET请求地址:https://www.linkedin.com/uas/oauth2/authorization
请求参数列表:
HTML页面使用实例:
访问HTML页面并点击按钮后浏览器显示:
点击授权后,Linkedin会向你配置的“授权重定向网址”发送GET请求,请求中随附两个重要的网址参数
code — OAuth 2.0 授权代码。
state — 用来测试是否存在跨站请求伪造攻击可能性的值。
code 是您在授权流程后续步骤中与领英交换实际 OAuth 2.0 访问令牌所用的值。鉴于安全原因,授权代码的使用期限极短,必须在收到后立即使用以免其过期。如需请求新的授权代码,您必须重复执行以上所有步骤。
接受授权代码之前,您应确保应用的 state 参数中返回的值与您原始授权代码请求的 state 值相匹配。 这样可确保您与真正的原始用户交流,且没有恶意脚本以某种方式进入授权流程。如果状态值不匹配,说明您可能已受到跨站请求伪造攻击,请在响应中提供 HTTP 401 错误代码。
备注:点击授权后没有真正授权
使用授权代码交换访问令牌
POST请求地址:https://www.linkedin.com/uas/oauth2/accessToken
请求参数:
redirect_uri参数必须与上一步中的redirect_uri参数相同
Java调用实例:
正确调用后接口返回一个包含以下字段的 JSON 对象:
access_token — 用户的访问令牌。根据您所签署的 《API 使用条款》,您必须确保此值的安全性。
expires_in — 从提出请求开始到令牌失效之前剩余的秒数。目前,所有访问令牌的使用寿命均为 60 天。