这是使用 OAuth2 登录LinkedIn的正确工作流程吗?


is this the correct workflow for linkedin login using oauth2?

我需要为其中一个客户端实现LinkedIn登录。这是我正在维护的工作流程,

  1. 用户将点击"登录使用LinkedIn"按钮进行第一次。

  2. 用户将被重定向到LinkedIn授权页面,如果他授权,我正在请求访问令牌并抚摸浏览器 Cookie 中的相同访问令牌。现在,我正在调用LinkedIn以使用此令牌获取用户信息。

  3. 现在假设用户在 2-3 天后再次访问该网站,然后首先我检查 cookie 中是否存在任何访问令牌。

    3.1:如果 cookie 中存在访问令牌,我正在调用 LinkedIn 以获取电子邮件 ID,如果成功,则访问令牌 有效并继续操作。如果调用返回错误,则我将用户重定向到LinkedIn授权页面 agin。

    3.2:如果 cookie 中不存在访问令牌,用户将被重定向到LinkedIn身份验证页面。

这是我第一次将oauth登录集成到任何站点。如果这种方法有任何问题,请让我。

访问令牌存储在浏览器 cookie 中是否安全? 或者我们应该将授权代码存储在 cookie 中并每次都获取访问令牌?我不确定这是否有意义。请帮忙。

有这方面的库,即使你不想使用它也很好,在我看来,最好将值存储在会话或数据库中。

如果您只需要登录,并且不像用户那样在LinkedIn上执行操作,则只需在用户未登录时获得授权并保存用户信息,然后在会话过期或用户注销时,再次获得授权。

https://github.com/thephpleague/oauth2-linkedin

https://github.com/thephpleague/oauth2-client