/// <summary> /// Creates an Access Token from an Authorization Code. /// <param name="apiContext">APIContext to be used for the call.</param> /// <param name="createFromAuthorizationCodeParameters">Query parameters used for API call</param> /// </summary> public static Tokeninfo CreateFromAuthorizationCode(APIContext apiContext, CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters) { string pattern = "v1/identity/openidconnect/tokenservice?grant_type={0}&code={1}&redirect_uri={2}"; object[] parameters = new object[] { createFromAuthorizationCodeParameters }; string resourcePath = SDKUtil.FormatURIPath(pattern, parameters); return(CreateFromAuthorizationCodeParameters(apiContext, createFromAuthorizationCodeParameters, resourcePath)); }
/// <summary> /// Creates an Access Token from an Authorization Code. /// <param name="apiContext">APIContext to be used for the call.</param> /// <param name="createFromAuthorizationCodeParameters">Query parameters used for API call</param> /// </summary> public static Tokeninfo CreateFromAuthorizationCode(APIContext apiContext, CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters) { string pattern = "v1/identity/openidconnect/tokenservice?grant_type={0}&code={1}&redirect_uri={2}"; object[] parameters = new object[] { createFromAuthorizationCodeParameters }; string resourcePath = SDKUtil.FormatURIPath(pattern, parameters); string payLoad = resourcePath.Substring(resourcePath.IndexOf('?') + 1); resourcePath = resourcePath.Substring(0, resourcePath.IndexOf("?")); Dictionary <string, string> headersMap = new Dictionary <string, string>(); headersMap.Add(BaseConstants.ContentTypeHeader, "application/x-www-form-urlencoded"); if (apiContext == null) { apiContext = new APIContext(); } apiContext.HTTPHeaders = headersMap; apiContext.MaskRequestId = true; return(PayPalResource.ConfigureAndExecute <Tokeninfo>(apiContext, HttpMethod.POST, resourcePath, payLoad)); }
/// <summary> /// Creates an Access Token from an Authorization Code. /// <param name="createFromAuthorizationCodeParameters">Query parameters used for API call</param> /// </summary> public static Tokeninfo CreateFromAuthorizationCode(CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters) { return(CreateFromAuthorizationCode(null, createFromAuthorizationCodeParameters)); }
/// <summary> /// Helper method for creating Access and Refresh Tokens from an Authorization Code. /// </summary> /// <param name="apiContext">APIContext to be used for the call.</param> /// <param name="createFromAuthorizationCodeParameters">Query parameters used for the API call.</param> /// <param name="resourcePath">The path to the REST API resource that will be requested.</param> /// <returns>A TokenInfo object containing the Access and Refresh Tokens.</returns> private static Tokeninfo CreateFromAuthorizationCodeParameters(APIContext apiContext, CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters, string resourcePath) { string payLoad = resourcePath.Substring(resourcePath.IndexOf('?') + 1); resourcePath = resourcePath.Substring(0, resourcePath.IndexOf("?")); Dictionary <string, string> headersMap = new Dictionary <string, string>(); headersMap.Add(BaseConstants.ContentTypeHeader, "application/x-www-form-urlencoded"); if (apiContext == null) { apiContext = new APIContext(); } apiContext.HTTPHeaders = headersMap; apiContext.MaskRequestId = true; return(PayPalResource.ConfigureAndExecute <Tokeninfo>(apiContext, HttpMethod.POST, resourcePath, payLoad)); }
/// <summary> /// Creates Access and Refresh Tokens from an Authorization Code for future payments. /// </summary> /// <param name="apiContext">APIContext to be used for the call.</param> /// <param name="createFromAuthorizationCodeParameters">Query parameters used for the API call.</param> /// <returns>A TokenInfo object containing the Access and Refresh Tokens.</returns> public static Tokeninfo CreateFromAuthorizationCodeForFuturePayments(APIContext apiContext, CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters) { string pattern = "v1/oauth2/token?grant_type=authorization_code&response_type=token&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code={0}"; object[] parameters = new object[] { createFromAuthorizationCodeParameters.ContainerMap["code"] }; string resourcePath = SDKUtil.FormatURIPath(pattern, parameters); return(CreateFromAuthorizationCodeParameters(apiContext, createFromAuthorizationCodeParameters, resourcePath)); }