【问题标题】:NestJS : Passport LinkedIn strategy with graphqlNestJS:使用 graphql 的 Passport LinkedIn 策略
【发布时间】:2021-05-28 00:08:47
【问题描述】:
我在 typescript、Graphql、Postgres 上运行了 Nestjs 应用程序,并定义了 Jwt 策略,现在我需要用它来锻炼 LinkedIn 策略。我不确定从哪里开始,有几个 packages 可用,但它们缺少 Graphql 部分,它们主要指向本地的 API 端点,如 /auth/linkedin/callback,我想知道这里以及如何开始。
【问题讨论】:
标签:
node.js
typescript
graphql
passport.js
nestjs
【解决方案1】:
如果您查看LinkedIn's OAuth documentatioin,您会发现LinkedIn 需要知道授权尝试成功时的回调URL。您还将看到初始授权调用的响应(调用您的回调 URL)是一个不符合 GraphQL 格式的 GET 请求,因此您必须为此实现一个 REST 端点.
大多数 OAuth2.0 调用都是如此。您需要在 REST 而不是 GraphQL 中实现它们。如果您真的想要,您可以进行 REST 调用并进行一些转换以使其成为 GQL 调用,然后将其转发到您的 GQL 服务器,但这仍然是您使用的 REST 端点你的服务器。