/// <summary> /// /// </summary> /// <returns></returns> protected override ADPAccessToken getAccessToken() { ADPAccessToken token = accessToken; AuthorizationCodeConfiguration conconfig = (AuthorizationCodeConfiguration)connectionConfiguration; Dictionary <string, string> data = null; AuthenticationHeaderValue credentials = null; if (!isConnectedIndicator()) { data = new Dictionary <string, string>(); data.Add("client_id", conconfig.clientID); data.Add("client_secret", conconfig.clientSecret); data.Add("grant_type", conconfig.grantType); data.Add("code", conconfig.authorizationCode); data.Add("redirect_uri", conconfig.redirectURL); var encodedCredentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(String.Format("{0}:{1}", connectionConfiguration.clientID, connectionConfiguration.clientSecret))); var result = SendWebRequest(conconfig.tokenServerURL, data, credentials); if (!String.IsNullOrEmpty(result)) { token = JSONUtil.Deserialize <ADPAccessToken>(result); Status = "connected"; } } return(token); }
/// <summary> /// /// </summary> /// <param name="JSONConfigObject"></param> /// <returns></returns> public override ConnectionConfiguration init(String JSONConfigObject) { AuthorizationCodeConfiguration ccfg = JSONUtil.Deserialize <AuthorizationCodeConfiguration>(JSONConfigObject); this.clientID = ccfg.clientID; this.clientSecret = ccfg.clientSecret; this.sslCertPath = ccfg.sslCertPath; this.sslKeyPass = ccfg.sslKeyPass; this.tokenServerURL = ccfg.tokenServerURL; this.apiRequestURL = ccfg.apiRequestURL; // this.tokenExpiration = ccfg.tokenExpiration; this.accessScope = ccfg.accessScope; return(ccfg); }
/// <summary> /// /// </summary> /// <returns>String</returns> public string getAuthorizationURL() { AuthorizationCodeConfiguration config = (AuthorizationCodeConfiguration)connectionConfiguration; string authorizationurl = null; if (config != null) { if (String.IsNullOrEmpty(config.baseAuthorizationURL)) { throw new Exception("Missing authorization url."); } if (String.IsNullOrEmpty(config.clientID) || String.IsNullOrEmpty(config.clientSecret)) { throw new Exception("Missing client information."); } if (String.IsNullOrEmpty(config.redirectURL)) { throw new Exception("Missing callback/redirect url information"); } state = Guid.NewGuid().ToString(); authorizationurl = String.Format("{0}?client_id={1}&response_type={2}&redirect_uri={3}&scope=openid&state={4}", config.baseAuthorizationURL, HttpUtility.UrlEncode(config.clientID), HttpUtility.UrlEncode(config.responseType), HttpUtility.UrlEncode(config.redirectURL), HttpUtility.UrlEncode(state)); } else { throw new ADPConnectionException("Authorization code configuration not available"); } return(authorizationurl); }