/// <summary> /// Creates a new chat room for the specified client /// </summary> /// <returns></returns> public ChatRoom CreateChatRoom(int _clientId, string _name = null) { var room = new ChatRoom { MaxUsers = 2, Name = (_name == null) ? WebTools.GetRandomText(6) : _name, OwnerId = _clientId }; chatRooms.Add(room); return(room); }
public ActionResult OpenId(FormCollection form) { string url = "https://rpxnow.com/api/v2/auth_info"; string apiKey = "510a0b6164005bbda028dc3a893d276dbd102b1b"; string token = form["token"]; var clnt = new WebClient(); clnt.QueryString.Add("apiKey", apiKey); clnt.QueryString.Add("token", token); string jsonResult = null; try { jsonResult = clnt.DownloadString(url); } catch (Exception) { TempData["Message"] = "Falha ao efetuar o login. Por favor, tente novamente."; return(RedirectToAction("Login")); } var jss = new JavaScriptSerializer(); var profileData = jss.Deserialize <OpenIdResult>(jsonResult); if (profileData.stat != "ok") { TempData["Message"] = "Falha ao efetuar o login"; return(RedirectToAction("Login")); } var username = profileData.profile.identifier; if (Membership.GetUser(username) == null) { MembershipCreateStatus membershipCreateStatus; MembershipUser user = Membership.CreateUser( username, WebTools.GetRandomText(), profileData.profile.email, "Esta é uma conta do tipo OpenID. Você deve utilizar seu OpenID para se logar.", WebTools.GetRandomText(), true, out membershipCreateStatus); if (membershipCreateStatus != MembershipCreateStatus.Success) // failed { TempData["_FORM"] = ErrorCodeToString(membershipCreateStatus); return(RedirectToAction("Login")); } user.Comment = profileData.profile.preferredUsername; Membership.UpdateUser(user); } var theUser = Membership.GetUser(username); if (theUser != null) { TempData["Message"] = "Bem vindo(a), " + theUser.UserName + "."; } FormsAuthentication.RedirectFromLoginPage(username, false); string returnUrl = Request.Form["returnUrl"]; if (!String.IsNullOrEmpty(returnUrl) && !returnUrl.EndsWith("Login")) { return(Redirect(returnUrl)); } return(RedirectToAction("Index", "Home")); }