NestJS:使用 graphql 的 Passport LinkedIn 策略

Posted

技术标签:

【中文标题】NestJS:使用 graphql 的 Passport LinkedIn 策略【英文标题】:NestJS : Passport LinkedIn strategy with graphql 【发布时间】:2021-05-28 00:08:47 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

大多数 OAuth2.0 调用都是如此。您需要在 REST 而不是 GraphQL 中实现它们。如果您真的想要,您可以进行 REST 调用并进行一些转换以使其成为 GQL 调用,然后将其转发到您的 GQL 服务器,但这仍然是您使用的 REST 端点你的服务器。

【讨论】:

以上是关于NestJS:使用 graphql 的 Passport LinkedIn 策略的主要内容,如果未能解决你的问题,请参考以下文章

NestJS:使用 graphql 的 Passport LinkedIn 策略

错误:使用 Nestjs + Graphql + Typeorm 时无法确定 GraphQL 输入类型

GraphQL介绍&使用nestjs构建GraphQL查询服务

NestJS + Mongoose + GraphQL:“填充”不起作用

使用graphql的nestJS中的解析器/服务有啥区别?

在 Nestjs 中使用 graphql 进行授权