将外部访问令牌换成本地令牌 - ASP.Net 身份
Trade external access token for local one - ASP.Net Identity
当使用 ASP.Net 身份并从外部提供商检索外部访问令牌时,我如何 trade-in/issue 使用外部访问令牌的本地访问令牌?
我已经看到 [HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
但无法在我的操作方法中使用它。如果我发送 headers
Authentication: Bearer external_access_token
它不填充 User.Identity
Startup.Auth.cs:
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(),
AuthorizeEndpointPath = new PathString("/AccountApi/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
});
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
OWIN中间件的工作流程涉及
外部认证
- 重定向/查询外部 OAuth 提供商
- 正在使用外部 Cookie 和所有声明信息ASP.NET 身份 注册新用户
- 将不记名令牌返回到表示层。
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
不用于允许 外部不记名令牌 代替地方当局不记名令牌使用. 外部承载令牌仅用于验证用户的身份。
OWIN 中间件 身份验证应始终以 OWIN 中间件 承载令牌 return 结束。无论用户是使用本地 Login/Password 还是使用外部身份验证 Cookie/令牌进行身份验证,用户都必须获得本地权限令牌才能使用安全方法。
如果用户在外部身份验证后不存在于您的身份数据库中,请注册用户并return一个新的承载令牌。
当使用 ASP.Net 身份并从外部提供商检索外部访问令牌时,我如何 trade-in/issue 使用外部访问令牌的本地访问令牌?
我已经看到 [HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
但无法在我的操作方法中使用它。如果我发送 headers
Authentication: Bearer external_access_token
它不填充 User.Identity
Startup.Auth.cs:
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(),
AuthorizeEndpointPath = new PathString("/AccountApi/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
});
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
OWIN中间件的工作流程涉及
外部认证- 重定向/查询外部 OAuth 提供商
- 正在使用外部 Cookie 和所有声明信息ASP.NET 身份 注册新用户
- 将不记名令牌返回到表示层。
[HostAuthentication(DefaultAuthenticationTypes.ExternalBearer)]
不用于允许 外部不记名令牌 代替地方当局不记名令牌使用. 外部承载令牌仅用于验证用户的身份。
OWIN 中间件 身份验证应始终以 OWIN 中间件 承载令牌 return 结束。无论用户是使用本地 Login/Password 还是使用外部身份验证 Cookie/令牌进行身份验证,用户都必须获得本地权限令牌才能使用安全方法。
如果用户在外部身份验证后不存在于您的身份数据库中,请注册用户并return一个新的承载令牌。