使用身份服务器 3 为我的应用程序令牌交换 facebook 令牌

Use identity server 3 to exchange a facebook token for my application token

我正在研究如何使用 id 服务器为将与我们正在开发的 Web API 对话的本机移动应用程序提供身份验证服务。我从 MVC 演练中描述的流程开始 - 因此用户被 ID Server 重定向到 FB(使用 acr_value/idp),然后在登录后重定向回来,在那里我可以进行声明转换并发出我们应用程序的令牌。

虽然native client的开发者对此有顾虑,宁愿使用FB sdk让用户登录FB,而不是让id server在重定向后发布token。以前版本的 ID 服务器上的以下问题很好地解释了这一点:

https://github.com/IdentityServer/IdentityServer2/issues/503

我将如何使用 id 服务器 3 执行此操作?

这是自定义赠款的完美用例。

1) 先做原生FB登录

2) 使用自定义授权将 FB 令牌发送到 IdentityServer 令牌端点

3) 编写一个自定义授权验证程序来验证 FB 令牌

4) return API 的 JWT 令牌

文档: https://identityserver.github.io/Documentation/docsv2/advanced/customGrantTypes.html