Example #1
0
        public ActionResult Facebook(LoginViewModel model)
        {
            var client = new FacebookClient
            {
                ClientIdentifier = "149468868470566",
                ClientSecret = "e6a0759c4c2510847763a1fb7d5b8566",
            };
            IAuthorizationState authorization = client.ProcessUserAuthorization();
            if (authorization == null)
            {
                // Kick off authorization request
                client.RequestUserAuthorization();
            }
            else
            {
                var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken));
                using (var response = request.GetResponse())
                {
                    using (var responseStream = response.GetResponseStream())
                    {
                        var graph = FacebookGraph.Deserialize(responseStream);

                        var userData = new UserData
                        {
                            FriendlyName = graph.Name,
                            Identifier = graph.Link.ToString(),
                            LoginProvider = "Facebook"
                        };

                        SetAuthCookie(graph.Link.ToString(), true, JsonConvert.SerializeObject(userData));

                        return Redirect(Url.Action("Index", "Home"));
                    }
                }
            }

            return Redirect(Url.Action("Index", "Home"));
        }
Example #2
0
        public ActionResult OpenIdCallback(string returnUrl)
        {
            var model = new LoginViewModel { ReturnUrl = returnUrl };
            var openId = new OpenIdRelyingParty();
            var openIdResponse = openId.GetResponse();

            if (openIdResponse.Status == AuthenticationStatus.Authenticated)
            {
                var email = GetEmail(openIdResponse);
                var userData = new UserData
                                   {
                                       FriendlyName = GetFriendlyName(openIdResponse), 
                                       Identifier = email,
                                       Email = email,
                                       LoginProvider = "Google"
                                   };

                SetAuthCookie(openIdResponse.ClaimedIdentifier, true, JsonConvert.SerializeObject(userData));

                return Redirect(Url.Action("Index", "Home"));
            }

            model.Message = "Sorry, login failed.";
            return View("Index", model);
        }