1

我有一个带有 OpenIddict 的 .Net Core Auth API 和一个 .Net Core Api “客户端”。现在我正在构建一个 Ionic 3 本机应用程序,我想实现 Facebook 登录,人们可以通过本Facebook 应用程序登录。到目前为止,我只找到了使用 Facebook网络登录的示例。

到目前为止,我有:

  • 返回 Jwt 令牌的有效 .Net Core Auth API
  • 接受这些 JWT 令牌的有效 .Net Core 客户端 API
  • 一个工作的 Ionic 3 应用程序,可以使用用户名 + 密码登录,获取令牌并使用它。
  • 一个工作的 Ionic 3 应用程序,带有 Facebook 登录,通过本Facebook 应用程序(通过 Cordova 插件)登录

感觉代码流是正确的方法,但所有示例都重定向到 Facebook 登录网页,因此用户可能仍然需要在他的原生 Facebook 应用程序已经登录时登录 Facebook。

我的问题是:用户在我的 Ionic 应用程序中通过 Facebook 登录后,如何从 OpenIddict Auth Api 获取 JWT 令牌,以便我可以使用我的客户端 API?或者我应该在使用原生 Facebook 应用程序登录时以某种方式更改流程?

更新:在 Ionic 中,我确实得到了 Facebook UserId,它等于 AspNetUserLogins.ProviderKey。登录到您的 API 是否足够安全?

4

1 回答 1

1

如果使用代码流或打开系统浏览器以交互方式完成身份验证过程(包括 FB 身份验证步骤)绝对不适合您,请考虑使用自定义授权来允许您的移动应用程序兑换 FB 访问令牌(或授权代码)与 OpenIddict 颁发的访问令牌。

有关更多信息,请参阅其他 SO 线程:Rich Twitter Digits/Google Auth with OpenIdDictServer

于 2017-07-31T17:47:17.977 回答