首页 > 解决方案 > NestJS:使用 graphql 的 Passport LinkedIn 策略

问题描述

我有在 typescript、Graphql、Postgres 上运行的 Nestjs 应用程序,并定义了 Jwt 策略,现在我需要用它来锻炼 LinkedIn 策略。我不确定从哪里开始,有几个可用的,但它们缺少 Graphql 部分,它们主要指向本地 API 端点/auth/linkedin/callback,我想知道这里以及如何开始。

标签: node.jstypescriptgraphqlpassport.jsnestjs

解决方案


如果您查看LinkedIn 的 OAuth 文档,您会发现 LinkedIn 需要知道授权尝试成功时的回调 url。您还将看到初始授权调用(调用回调 URL)的响应是一个不符合 GraphQL 格式的 GET 请求,因此您必须为此实现一个 REST 端点。

对于大多数OAuth2.0 调用来说,这是非常正确的。您需要在 REST 而不是 GraphQL 中实现它们。如果您真的想要,您可以接受 REST 调用并进行一些转换以使其成为 GQL 调用,然后将其转发到您的 GQL 服务器,但这仍然是您在服务器中拥有的 REST 端点。


推荐阅读