我有一个身份验证服务器,它为多个平台(移动、网络等)返回一个令牌,然后使用这个令牌他们可以向我的 API 发出请求。像这样的东西:http: //bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/
现在我需要添加外部登录(facebook、google、twitter)。
我在本指南中实现了它: http ://www.asp.net/web-api/overview/security/external-authentication-services
我不明白的是如何返回与常规身份验证中返回的相同的令牌(以便以后能够请求 API)。
我的 api 只知道自定义 jwt 令牌。
我需要从 GetExternalLogin 函数手动执行吗?
如果是的话,我做了这样的事情:
var ticket = new AuthenticationTicket(身份,道具);var accessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket);
现在我需要知道 1)需要添加到属性 IssuedUtc ,ExpiresUtc ,如何?在常规认证中是自动填写的 2)如何将其返回给客户端?
我最终在帐户控制器中看到了我需要做的事情:Authentication.SignIn(identity);
在提供者中: context.Validated(ticket);
也许我可以在帐户控制器中做同样的事情?
谢谢。