我有一个身份验证服务器,它返回多个平台(移动设备,网络等)的令牌,然后使用此令牌,他们可以向我的API发出请求 . 像这样:http://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/

现在我需要添加外部登录(Facebook,谷歌,推特) .

我在本指南中实现了它:http://www.asp.net/web-api/overview/security/external-authentication-services

我不明白的是我如何返回相同的标记,就像我在常规认证中返回一样(以便稍后能够请求API) .

我的api只知道自定义的jwt令牌 .

我是否需要从GetExternalLogin函数手动执行此操作?

如果是的话,我做了这样的事情:

var ticket = new AuthenticationTicket(identity, props); var accessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket);

而现在我需要知道1)需要添加属性IssuedUtc,ExpiresUtc,怎么样?在常规身份验证中自动填充2)如何将其返回给客户端?

我在帐户控制器中看到了我需要做的事情:Authentication.SignIn(identity);

在提供者:context.Validated(ticket);

也许我可以在帐户控制器中做同样的事情?

谢谢 .