4

我处于Thinktecture IdentityServer实施的中间,并且正在增加移动应用程序的容量,以便将本地获得的Facebook访问令牌提供给服务器,服务器将通过本地身份验证用户。在IdentityServer中获取FacebookAuthenticationProvider实例(Owin应用程序)

IdentityServer使用微软的Owin中间件来执行Facebook身份验证。这是它如何被添加到应用程序:

var fb = new FacebookAuthenticationOptions 
{ 
    AuthenticationType = "Facebook", 
    SignInAsAuthenticationType = signInAsType, 
    AppId = "...", 
    AppSecret = "..." 
}; 

我想要做的,掉在另一类是什么,是叫这个:

await [FacebookAuthenticationProvider instance].Authenticated(context); 

但我无法弄清楚如何获取我需要的FacebookAuthenticationProvider实例。或者甚至有必要?我可以只有new一个吗?

回答

2

我没有专门做这个,但如果我理解你的问题,我会实现下面

https://identityserver.github.io/Documentation/docs/advanced/userService.html

其用户的服务而在这之后我会假设它验证同样的方式正常ASP.NET做你可以检查Request.IsAuthenticated或User.Identity属性来获取信息。

再一次,我没有这样做,但我会假设Facebook的实际身份验证的调用将通过某种链接触发,并且您将在Facebook上注册一个外部登录回调URL,你的控制器动作(在哪一点验证逻辑得到执行),但我猜测用户服务实现会为你处理大部分工作,你只需要关注它。

如果你正在寻找缓存令牌,也许看看 -

http://brockallen.com/2013/02/21/server-side-session-token-caching-in-wif-and-thinktecture-identitymodel/

相关问题