public static string GetAuthorizationCookie(HttpCookieCollection cookies, string code, IBaseDb db) { //var code = request.QueryString["code"]; var stream = HttpTools.PostStream("https://oauth.yandex.ru/token", string.Format("grant_type=authorization_code&code={0}&client_id={1}&client_secret={2}", code, ClientId, Password)); var model = SerializeTools.Deserialize<TokenModel>(stream); var userCookie = new HttpCookie("yandex_token") { Value = model.access_token, Expires = DateTime.Now.AddDays(30) }; stream = HttpTools.PostStream(InfoUrl, string.Format("oauth_token={0}", userCookie.Value)); var email = SerializeTools.Deserialize<UserModel>(stream).default_email; var user = db.SingleOrDefault<User>(u => u.Email == email); cookies.Set(userCookie); var rolesCookie = new HttpCookie("roles") {Value = string.Join(",", user.UserRoles.Select(r => r.Code)), Expires = DateTime.Now.AddDays(30)}; cookies.Set(rolesCookie); return model.access_token; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); DbFactory = new NhDbFactory(ConnectionString); Db = DbFactory.CreateBaseDb(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); }
public static string GetAuthorizationCookie(HttpCookieCollection cookies, string code, IBaseDb db) { //var code = request.QueryString["code"]; var stream = HttpTools.PostStream("https://oauth.yandex.ru/token", string.Format("grant_type=authorization_code&code={0}&client_id={1}&client_secret={2}", code, ClientId, Password)); var model = SerializeTools.Deserialize <TokenModel>(stream); var userCookie = new HttpCookie("yandex_token") { Value = model.access_token, Expires = DateTime.Now.AddDays(30) }; stream = HttpTools.PostStream(InfoUrl, string.Format("oauth_token={0}", userCookie.Value)); var email = SerializeTools.Deserialize <UserModel>(stream).default_email; var user = db.SingleOrDefault <User>(u => u.Email == email); cookies.Set(userCookie); var rolesCookie = new HttpCookie("roles") { Value = string.Join(",", user.UserRoles.Select(r => r.Code)), Expires = DateTime.Now.AddDays(30) }; cookies.Set(rolesCookie); return(model.access_token); }
public HomeController() { _db = MvcApplication.DbFactory.CreateBaseDb(); }
public AdminController() { _db = MvcApplication.DbFactory.CreateBaseDb(); }