Пример #1
0
        public override ClaimsIdentity ProcessSignInResponse(string realm, string originalUrl, HttpContextBase httpContext)
        {
            var client = new MicrosoftClient(this.appId, this.secretKey);
            AuthenticationResult result;
            try
            {
                result = client.VerifyAuthentication(httpContext, this.MultiProtocolIssuer.ReplyUrl);
            }
            catch (WebException wex)
            {
                throw new InvalidOperationException(new StreamReader(wex.Response.GetResponseStream()).ReadToEnd(), wex);
            }

            var claims = new List<Claim>
                {
                    new Claim(System.IdentityModel.Claims.ClaimTypes.NameIdentifier, result.ExtraData["id"])
                };

            foreach (var claim in result.ExtraData)
            {
                claims.Add(new Claim("http://schemas.live.com/" + claim.Key, claim.Value));
            }

            return new ClaimsIdentity(claims, "LiveId");
        }
Пример #2
0
 public override void ProcessSignInRequest(Scope scope, HttpContextBase httpContext)
 {
     var client = new MicrosoftClient(this.appId, this.secretKey);
     client.RequestAuthentication(httpContext, this.MultiProtocolIssuer.ReplyUrl);
 }
Пример #3
0
 //
 // GET: /Account/Live
 public ActionResult Live()
 {
     var liveClient = new MicrosoftClient("appId", "appSecret");
     return Authenticate(liveClient);
 }