protected string GetAccessToken(Guid accountId) { var encodedRefreshToken = _accountDao.GetPayPalEncryptedRefreshToken(accountId); if (!encodedRefreshToken.HasValue()) { throw new ArgumentNullException(string.Format("Refresh token not found for account: {0}", accountId)); } var tokenInfo = new Tokeninfo { refresh_token = CryptoService.Decrypt(encodedRefreshToken) }; var tokenResult = tokenInfo.CreateFromRefreshToken(GetAPIContext(), new CreateFromRefreshTokenParameters()); return(string.Format("{0} {1}", tokenResult.token_type, tokenResult.access_token)); }
public void TestCreateFromRefreshTokenDynamic() { Dictionary <string, string> configurationMap = new Dictionary <string, string>(); configurationMap.Add("clientId", ""); configurationMap.Add("clientSecret", ""); configurationMap.Add("mode", "live"); APIContext apiContext = new APIContext(); apiContext.Config = configurationMap; CreateFromRefreshTokenParameters param = new CreateFromRefreshTokenParameters(); info = info.CreateFromRefreshToken(apiContext, param); Assert.AreEqual(info.access_token != null, true); }
public void UserInfoGetUserInfoWithRefreshTokenTest() { try { var config = ConfigManager.Instance.GetProperties(); config[BaseConstants.ClientId] = "AYSq3RDGsmBLJE-otTkBtM-jBRd1TCQwFf9RGfwddNXWz0uFU9ztymylOhRS"; config[BaseConstants.ClientSecret] = "EGnHDxD_qRPdaLdZz8iCr8N7_MzF-YHPTkjs6NKYQvQSBngp4PTTVWkPZRbL"; var apiContext = new APIContext() { Config = config }; // Using the refresh token, first get an access token. var tokenInfo = new Tokeninfo { refresh_token = "W1JmxG-Cogm-4aSc5Vlen37XaQTj74aQcQiTtXax5UgY7M_AJ--kLX8xNVk8LtCpmueFfcYlRK6UgQLJ-XHsxpw6kZzPpKKccRQeC4z2ldTMfXdIWajZ6CHuebs" }; var refreshTokenParameters = new CreateFromRefreshTokenParameters(); var token = tokenInfo.CreateFromRefreshToken(apiContext, refreshTokenParameters); this.RecordConnectionDetails(); var userInfoParameters = new UserinfoParameters(); userInfoParameters.SetAccessToken(token.access_token); // Get the user information. var userInfo = PayPal.Api.OpenIdConnect.Userinfo.GetUserinfo(userInfoParameters); this.RecordConnectionDetails(); Assert.AreEqual("account", userInfo.family_name); Assert.AreEqual("facilitator account", userInfo.name); Assert.AreEqual("facilitator", userInfo.given_name); Assert.AreEqual("BUSINESS", userInfo.account_type); Assert.AreEqual("https://www.paypal.com/webapps/auth/identity/user/jWZav5QbA94DNm5FzsNOsq88y4QYrRvu4KLfUydcJqU", userInfo.user_id); Assert.IsTrue(userInfo.verified_account.Value); Assert.AreEqual("en_US", userInfo.locale); } catch (ConnectionException) { this.RecordConnectionDetails(false); throw; } }