public virtual void ProcessRequest(HttpContext context) { try { HttpRequest request = context.Request; // get credentials and settings WobCredentials credentials = new WobCredentials( WebConfigurationManager.AppSettings["ServiceAccountId"], WebConfigurationManager.AppSettings["ServiceAccountPrivateKey"], WebConfigurationManager.AppSettings["ApplicationName"], WebConfigurationManager.AppSettings["IssuerId"]); string loyaltyClassId = WebConfigurationManager.AppSettings["LoyaltyClassId"]; string loyaltyObjectId = WebConfigurationManager.AppSettings["LoyaltyObjectId"]; string offerClassId = WebConfigurationManager.AppSettings["OfferClassId"]; string offerObjectId = WebConfigurationManager.AppSettings["OfferObjectId"]; string giftCardClassId = WebConfigurationManager.AppSettings["GiftCardClassId"]; string giftCardObjectId = WebConfigurationManager.AppSettings["GiftCardObjectId"]; // OAuth - setup certificate based on private key file X509Certificate2 certificate = new X509Certificate2( AppDomain.CurrentDomain.BaseDirectory + credentials.serviceAccountPrivateKey, "notasecret", X509KeyStorageFlags.Exportable); WobUtils utils = new WobUtils(credentials.serviceAccountId, certificate); // get the object type string type = request.Params["type"]; if (type.Equals("loyalty")) { LoyaltyObject loyaltyObject = Loyalty.generateLoyaltyObject(credentials.IssuerId, loyaltyClassId, loyaltyObjectId); utils.addObject(loyaltyObject); } else if (type.Equals("offer")) { OfferObject offerObject = Offer.generateOfferObject(credentials.IssuerId, offerClassId, offerObjectId); utils.addObject(offerObject); } else if (type.Equals("giftcard")) { GiftCardObject giftCardObject = GiftCard.generateGiftCardObject(credentials.IssuerId, giftCardClassId, giftCardObjectId); utils.addObject(giftCardObject); } // generate the JWT string jwt = utils.GenerateJwt(); HttpResponse response = context.Response; response.Write(jwt); //response.ContentType = "text/xml"; } catch (Exception e) { Console.Write(e.StackTrace); } }
public virtual void ProcessRequest(HttpContext context) { try { HttpRequest request = context.Request; // get settings WobCredentials credentials = new WobCredentials( WebConfigurationManager.AppSettings["ServiceAccountId"], WebConfigurationManager.AppSettings["ServiceAccountPrivateKey"], WebConfigurationManager.AppSettings["ApplicationName"], WebConfigurationManager.AppSettings["IssuerId"]); string loyaltyClassId = WebConfigurationManager.AppSettings["LoyaltyClassId"]; string offerClassId = WebConfigurationManager.AppSettings["OfferClassId"]; // OAuth - setup certificate based on private key file X509Certificate2 certificate = new X509Certificate2( AppDomain.CurrentDomain.BaseDirectory + credentials.serviceAccountPrivateKey, "notasecret", X509KeyStorageFlags.Exportable); // create service account credential ServiceAccountCredential credential = new ServiceAccountCredential( new ServiceAccountCredential.Initializer(credentials.serviceAccountId) { Scopes = new[] { "https://www.googleapis.com/auth/wallet_object.issuer" } }.FromCertificate(certificate)); // create the service var woService = new WalletobjectsService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Wallet Objects API Sample", }); // get the class type string type = request.Params["type"]; // insert the class if (type.Equals("loyalty")) { LoyaltyClass loyaltyClass = Loyalty.generateLoyaltyClass(credentials.IssuerId, loyaltyClassId); woService.Loyaltyclass.Insert(loyaltyClass).Execute(); } else if (type.Equals("offer")) { OfferClass offerClass = Offer.generateOfferClass(credentials.IssuerId, offerClassId); woService.Offerclass.Insert(offerClass).Execute(); } } catch (Exception e) { Console.Write(e.StackTrace); } }
public virtual void ProcessRequest(HttpContext context) { try { HttpRequest request = context.Request; WobCredentials credentials = new WobCredentials( WebConfigurationManager.AppSettings["ServiceAccountId"], WebConfigurationManager.AppSettings["ServiceAccountPrivateKey"], WebConfigurationManager.AppSettings["ApplicationName"], WebConfigurationManager.AppSettings["IssuerId"]); // OAuth - setup certificate based on private key file X509Certificate2 certificate = new X509Certificate2( AppDomain.CurrentDomain.BaseDirectory + credentials.serviceAccountPrivateKey, "notasecret", X509KeyStorageFlags.Exportable); WobUtils utils = null; WebserviceRequest webRequest = null; JsonWebToken.Payload.WebserviceResponse webResponse = null; string jwt = null; ReadEntityBodyMode read = request.ReadEntityBodyMode; Stream inputStream = null; if (read == ReadEntityBodyMode.None) { inputStream = request.GetBufferedInputStream(); } else { inputStream = request.InputStream; } webRequest = NewtonsoftJsonSerializer.Instance.Deserialize <WebserviceRequest>(inputStream); if (webRequest.Method.Equals("signup")) { webResponse = new JsonWebToken.Payload.WebserviceResponse() { Message = "Welcome to baconrista", Result = "approved" }; } else { webResponse = new JsonWebToken.Payload.WebserviceResponse() { Message = "Thanks for linking to baconrista", Result = "approved" }; } utils = new WobUtils(credentials.IssuerId, certificate); string linkId = webRequest.Params.LinkingId; LoyaltyObject loyaltyObject = Loyalty.generateLoyaltyObject(credentials.IssuerId, "LoyaltyClass", (linkId != null) ? linkId : "LoyaltyObject"); utils.addObject(loyaltyObject); jwt = utils.GenerateWsJwt(webResponse); HttpResponse response = context.Response; response.Write(jwt); } catch (Exception e) { Console.Write(e.StackTrace); } }