2

我们已经使用 URL 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();

        }
}
4

1 回答 1

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>
于 2013-09-04T08:06:19.727 回答