Kentor AuthServices/Owin - 处理身份提供者的响应
Kentor AuthServices/Owin - handling the response from the identity provider
我有一个使用 KentorAuthServices 和 Owin 针对 Azure AD 进行身份验证的工作配置,但我需要了解有关刚刚登录的用户的一些基本信息。当我使用 WSFed 作为身份验证服务时,我可以简单地处理SecurityTokenValidated 通知如下。我如何使用 KentorAuthServices 做类似的事情?我没有看到适当的通知来提取此信息。我只需要用户登录时使用的 username/email 地址。
Notifications = new WsFederationAuthenticationNotifications
{
SecurityTokenValidated = context =>
{
string username = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.Name).Value;
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(60), true, "");
String encryptedTicket = FormsAuthentication.Encrypt(authTicket);
context.Response.Cookies.Append(FormsAuthentication.FormsCookieName, encryptedTicket);
return Task.FromResult(0);
}
}
ETA:做更多的挖掘我相信 AcsCommandResultCreated 是我想要挂钩的通知 - 但它永远不会触发?
SAML 响应中的所有信息都转换为生成的身份中的声明。如果您使用带有 ASP.Net 身份的默认模板,您可以在 AccountController
.
上的 ExternalLoginCallback
操作中访问外部身份
AcsCommandResultCreated
通知绝对应该在成功登录时触发。尝试启用 Katana 日志记录并查看登录序列是否因错误而中止。
我有一个使用 KentorAuthServices 和 Owin 针对 Azure AD 进行身份验证的工作配置,但我需要了解有关刚刚登录的用户的一些基本信息。当我使用 WSFed 作为身份验证服务时,我可以简单地处理SecurityTokenValidated 通知如下。我如何使用 KentorAuthServices 做类似的事情?我没有看到适当的通知来提取此信息。我只需要用户登录时使用的 username/email 地址。
Notifications = new WsFederationAuthenticationNotifications
{
SecurityTokenValidated = context =>
{
string username = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.Name).Value;
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(60), true, "");
String encryptedTicket = FormsAuthentication.Encrypt(authTicket);
context.Response.Cookies.Append(FormsAuthentication.FormsCookieName, encryptedTicket);
return Task.FromResult(0);
}
}
ETA:做更多的挖掘我相信 AcsCommandResultCreated 是我想要挂钩的通知 - 但它永远不会触发?
SAML 响应中的所有信息都转换为生成的身份中的声明。如果您使用带有 ASP.Net 身份的默认模板,您可以在 AccountController
.
ExternalLoginCallback
操作中访问外部身份
AcsCommandResultCreated
通知绝对应该在成功登录时触发。尝试启用 Katana 日志记录并查看登录序列是否因错误而中止。