我正处于Thinktecture IdentityServer的实施过程中,并且正在为移动应用添加容量,以便向服务器提供本机获取的Facebook访问令牌,这将通过本地验证用户进行响应.
IdentityServer使用Microsoft的Owin中间件进行Facebook身份验证.这是它添加到应用程序的方式:
var fb = new FacebookAuthenticationOptions
{
AuthenticationType = "Facebook",
SignInAsAuthenticationType = signInAsType,
AppId = "...",
AppSecret = "..."
};
我想要做的,在另一个班级,是这样称呼:
await [FacebookAuthenticationProvider instance].Authenticated(context);
但我无法弄清楚如何获得我需要的FacebookAuthenticationProvider实例.或者甚至是必要的?我可以新上一个吗?
最佳答案 我没有专门做过这个,但如果我理解你的问题,我会在下面实现他们的用户服务
https://identityserver.github.io/Documentation/docs/advanced/userService.html
之后,我会假设它以与普通ASP.NET相同的方式进行身份验证,您可以检查Request.IsAuthenticated或User.Identity属性以获取信息.
同样,我还没有这样做,但我会假设Facebook实际验证的调用将由某种链接触发,并且您将在Facebook注册一个外部登录回调URL,这将触发您的某个控制器操作(在这一点上执行了身份验证逻辑),但我猜测用户服务实现会为您完成大部分工作,您只需将其挂钩即可.
如果您正在寻找缓存令牌,请查看 –