// GET: api/GooglePlay?id=com.rockstargames.gtavc public object Get(string id) { if (id == null) { return new { error = "Название пакета не может быть пустым!" } } ; if (!Applications.ContainsKey(id)) { HtmlDocument doc = null; try { doc = ParserManager.GetPageDocument(id); } catch (Exception ex) { return(new { error = $"Такого приложения на Google Play не существует." }); } try { ApplicationModel app = ParserManager.GetApplicationData(doc, id); if (!app.Verify()) { return new { error = $"Объект собран не полностью." } } ; Applications[app.PackageName] = app; return(app); } catch (Exception ex) { return(new { error = ex.Message }); } } return(Applications[id]); }
public object Post([FromBody] PackageModel model) { ApplicationModel app = null; HtmlDocument doc = null; try { doc = ParserManager.GetPageDocument(model.GetPackageName()); } catch (Exception ex) { return(new { error = $"Такого приложения на Google Play не существует." }); } try { app = ParserManager.GetApplicationData(doc, model.GetPackageName()); if (!app.Verify()) { return new { error = $"Объект собран не полностью." } } ; Applications[app.PackageName] = app; } catch (Exception ex) { return(new { error = $"Серверная ошибка. [DEBUG DATA (not for production)]: {ex.Message}." }); } return(app); }
// Дополнительные сведения о настройке аутентификации см. на странице https://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { string[] defaultApps = new string[] { "com.rockstargames.gtavc", "com.ovelin.guitartuna", "ru.sberbankmobile", "com.bethsoft.theelderscrollslegends", "com.wolfram.android.alpha" }; foreach (var package in defaultApps) { try { HtmlDocument doc = ParserManager.GetPageDocument(package); ApplicationModel curApp = ParserManager.GetApplicationData(doc, package); GooglePlayController.Applications[package] = curApp; } catch { } } // Настройка контекста базы данных, диспетчера пользователей и диспетчера входа для использования одного экземпляра на запрос app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create); // Включение использования файла cookie, в котором приложение может хранить информацию для пользователя, выполнившего вход, // и использование файла cookie для временного хранения информации о входах пользователя с помощью стороннего поставщика входа // Настройка файла cookie для входа app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Позволяет приложению проверять метку безопасности при входе пользователя. // Эта функция безопасности используется, когда вы меняете пароль или добавляете внешнее имя входа в свою учетную запись. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Позволяет приложению временно хранить информацию о пользователе, пока проверяется второй фактор двухфакторной проверки подлинности. app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); // Позволяет приложению запомнить второй фактор проверки имени входа. Например, это может быть телефон или почта. // Если выбрать этот параметр, то на устройстве, с помощью которого вы входите, будет сохранен второй шаг проверки при входе. // Точно так же действует параметр RememberMe при входе. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Раскомментируйте приведенные далее строки, чтобы включить вход с помощью сторонних поставщиков входа //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //}); }