| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- //
- // PPOTAppSwitchUtil.h
- // PayPalOneTouch
- //
- // Copyright © 2014 PayPal, Inc. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @class PPOTConfigurationRecipe;
- #define kPPOTAppSwitchCurrentVersionNumber 3
- // Dictionary keys for PPTouch v1 protocol
- #define kPPOTAppSwitchEnvironmentKey @"environment"
- #define kPPOTAppSwitchEnvironmentURLKey @"environment_url"
- #define kPPOTAppSwitchCustomEnvironmentKey @"custom"
- #define kPPOTAppSwitchAppNameKey @"app_name"
- #define kPPOTAppSwitchAppGuidKey @"app_guid"
- #define kPPOTAppSwitchResponseTypeKey @"response_type"
- #define kPPOTAppSwitchClientIdKey @"client_id"
- #define kPPOTAppSwitchPayloadKey @"payload"
- #define kPPOTAppSwitchHermesTokenKey @"token"
- #define kPPOTAppSwitchHermesBATokenKey @"ba_token"
- #define kPPOTAppSwitchXCancelKey @"x-cancel"
- #define kPPOTAppSwitchXSuccessKey @"x-success"
- #define kPPOTAppSwitchXSourceKey @"x-source"
- #define kPPOTAppSwitchAuthenticateAction @"authenticate"
- #define kPPOTAppSwitchSuccessAction @"success"
- #define kPPOTAppSwitchCancelAction @"cancel"
- #define kPPOTAppSwitchResponseTypeCode @"code"
- #define kPPOTAppSwitchResponseTypeToken @"token"
- #define kPPOTAppSwitchDisplayNameKey @"display_name"
- #define kPPOTAppSwitchAccessTokenKey @"access_token"
- #define kPPOTAppSwitchAuthorizationCodeKey @"authorization_code"
- #define kPPOTAppSwitchExpiresInKey @"expires_in"
- #define kPPOTAppSwitchScopesKey @"scope"
- #define kPPOTAppSwitchEmailKey @"email"
- #define kPPOTAppSwitchPhotoURLKey @"photo_url"
- #define kPPOTAppSwitchAccountCountryKey @"account_country"
- #define kPPOTAppSwitchLanguageKey @"language"
- #define kPPOTAppSwitchProtocolVersionKey @"version"
- #define kPPOTAppSwitchPrivacyURLKey @"privacy_url"
- #define kPPOTAppSwitchAgreementURLKey @"agreement_url"
- #define kPPOTAppSwitchErrorKey @"error"
- #define kPPOTAppSwitchMessageKey @"message"
- // v2 extension
- #define kPPOTAppSwitchResponseTypeWeb @"web"
- #define kPPOTAppSwitchWebURLKey @"webURL"
- // v3
- #define kPPOTAppSwitchMetadataClientIDKey @"client_metadata_id"
- #define kPPOTAppSwitchKeyIDKey @"key_id"
- #define kPPOTAppSwitchMsgGUIDKey @"msg_GUID"
- #define kPPOTAppSwitchSymKey @"sym_key"
- #define kPPOTAppSwitchTimestampKey @"timestamp"
- #define kPPOTAppSwitchLoginAction @"login"
- #define kPPOTAppSwitchEncryptedPayloadKey @"payloadEnc"
- #define kPPOTAppSwitchPaymentCodeTypeKey @"payment_code_type"
- #define kPPOTAppSwitchPaymentCodeKey @"payment_code"
- #define kPPOTAppSwitchResposneAuthCodeKey @"authcode"
- #define kPPOTAppSwitchKeyDeviceName @"device_name"
- #define PPRequestEnvironmentProduction @"live"
- #define PPRequestEnvironmentNoNetwork @"mock"
- #define PPRequestEnvironmentSandbox @"sandbox"
- typedef NS_ENUM(NSUInteger, PPAppSwitchResponseAction) {
- PPAppSwitchResponseActionUnknown,
- PPAppSwitchResponseActionCancel,
- PPAppSwitchResponseActionSuccess
- };
- typedef NS_ENUM(NSUInteger, PPAppSwitchResponseType) {
- PPAppSwitchResponseTypeUnknown,
- PPAppSwitchResponseTypeToken,
- PPAppSwitchResponseTypeAuthorizationCode,
- PPAppSwitchResponseTypeWeb,
- };
- @interface PPOTAppSwitchUtil : NSObject
- + (NSString *)bundleId;
- + (NSString *)bundleName;
- + (BOOL)isCallbackURLSchemeValid:(NSString *)callbackURLScheme;
- /**
- handles urlencoding
- */
- + (NSDictionary *)parseQueryString:(NSString *)query;
- + (NSURL *)URLAction:(NSString *)action
- targetAppURLScheme:(NSString *)targetAppURLScheme
- callbackURLScheme:(NSString *)callbackURLScheme
- payload:(NSDictionary *)payload;
- + (NSURL *)URLAction:(NSString *)action
- callbackURLScheme:(NSString *)callbackURLScheme
- payload:(NSDictionary *)payload;
- + (void)redirectURLsForCallbackURLScheme:(NSString *)callbackURLScheme withReturnURL:(NSString **)returnURL withCancelURL:(NSString **)cancelURL;
- + (BOOL)isValidURLAction:(NSURL *)urlAction;
- + (NSString *)actionFromURLAction:(NSURL *)urlAction;
- @end
|