【问题标题】:Getting FacebookAuthenticationProvider instance in IdentityServer (Owin app)在 IdentityServer 中获取 FacebookAuthenticationProvider 实例(Owin 应用程序)
【发布时间】:2015-03-11 10:43:59
【问题描述】:

我正在实施 Thinktecture IdentityServer,并且正在为移动应用程序添加功能,以向服务器提供本机获得的 Facebook 访问令牌,服务器将通过本地身份验证用户来响应。

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

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

我想要做的,在另一堂课上,叫这个:

await [FacebookAuthenticationProvider instance].Authenticated(context);

但我不知道如何获得我需要的 FacebookAuthenticationProvider 实例。或者这甚至是必要的吗?我可以new 一个吗?

【问题讨论】:

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


    【解决方案1】:

    我没有专门做这个,但如果我理解你的问题,我会在下面实现他们的用户服务

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

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

    再一次,我还没有这样做,但我假设调用 Facebook 进行实际身份验证将由某种链接触发,并且您会在 Facebook 注册一个外部登录回调 URL,该 URL 将访问您的一个控制器操作(此时执行身份验证逻辑),但我猜用户服务实现会为您处理大部分工作,而您只需将其挂钩。

    如果您正在寻找缓存令牌,不妨看看 -

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

    【讨论】:

      猜你喜欢
      • 2015-02-23
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多