我们已使用网址http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx中提供的流程成功实施了活动目录身份验证。在这里,我们可以在https://login.microsoftonline.com/上对用户进行身份验证并返回到网站,但在成功进行身份验证后我们无法获得访问令牌。以下代码,通过该代码,我们可以在成功验证后访问用户名,姓氏等,但不能访问访问令牌。 你能为我提供一些代码,通过这些代码我们可以在认证后获得访问令牌。
public class HomeController : Controller
{
public ActionResult Index()
{
ClaimsPrincipal cp = ClaimsPrincipal.Current;
string fullname =
string.Format("{0} {1}", cp.FindFirst(ClaimTypes.GivenName).Value,
cp.FindFirst(ClaimTypes.Surname).Value);
ViewBag.Message = string.Format("Dear {0}, welcome to the Expense Note App",
fullname);
return View();
}
}
答案 0 :(得分:3)
您可以使用此代码访问使用的安全令牌:
ClaimsPrincipal cp = ClaimsPrincipal.Current;
ClaimsIdentity ci = cp.Identity as ClaimsIdentity;
BootstrapContext bc = ci.BootstrapContext as BootstrapContext;
SecurityToken securityToken = bc.SecurityToken;
您还需要在配置文件中设置 saveBootstrapContext 属性:
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
...
</system.identityModel>