在IdentityServer(Owin应用程序)中获取FacebookAuthenticationProvider实例

时间:2015-03-03 02:40:46

标签: asp.net-mvc owin katana thinktecture-ident-server owin-security

我正处于Thinktecture IdentityServer的实施过程中,并且正在为移动应用添加容量,以便向服务器提供本机获取的Facebook访问令牌,这将通过本地验证用户进行响应。

IdentityServer使用Microsoft的Owin中间件进行Facebook身份验证。这是它添加到应用程序的方式:

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

我想做的事情,在另一个课堂上,请致电:

await [FacebookAuthenticationProvider instance].Authenticated(context);

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

1 个答案:

答案 0 :(得分:2)

我没有特别说明,但如果我理解你的问题,我会在

下面实施他们的用户服务

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

之后我会假设它以与普通ASP.NET相同的方式进行身份验证,您可以检查Request.IsAuthenticated或User.Identity属性以获取信息。

同样,我还没有这样做,但我会假设Facebook实际进行身份验证的调用会被某种链接触发,并且你会在Facebook上注册一个外部登录回调网址,这会触及你的一个控制器动作(此时执行认证逻辑),但我猜测用户服务实现会为你完成大部分工作,你只需要进行操作即可。

如果您正在寻找缓存令牌,请查看 -

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