public bool GetToken() { try { HttpWebRequest = (HttpWebRequest)WebRequest.Create($"https://sandbox.finnotech.ir/dev/v1/oauth2/token"); HttpWebRequest.Method = "POST"; HttpWebRequest.ContentType = "application/json"; HttpWebRequest.Headers.Add(HttpRequestHeader.Authorization, "Basic " + ApplicationCredentials.GetPassword()); var tempRequest = new TokenRequestBody() { grant_type = "client_credentials", nid = ApplicationCredentials.NationalId }; var tempJsonBody = JsonConvert.SerializeObject(tempRequest); HttpWebRequest.ContentLength = tempJsonBody.Length; using (var writtingStream = new StreamWriter(HttpWebRequest.GetRequestStream())) writtingStream.Write(tempJsonBody); using (var response = HttpWebRequest.GetResponse()) using (var responseStream = new StreamReader(response.GetResponseStream())) { tokenString = responseStream.ReadToEnd(); Token = JsonConvert.DeserializeObject <Token>(tokenString); } return(true); } catch (Exception ex) { throw ex; } }
public bool GetOauthToken(string code) { try { HttpWebRequest = (HttpWebRequest)WebRequest.Create("https://sandbox.finnotech.ir/dev/v1/oauth2/authorize"); HttpWebRequest.Method = "POST"; HttpWebRequest.ContentType = "application/json"; HttpWebRequest.Headers.Add(HttpRequestHeader.Authorization, "Basic " + ApplicationCredentials.GetPassword()); var requestBody = new OauthRequestBody() { code = code, redirect_uri = OauthParameters.redirect_uri, grant_type = "authorization_code" }; var requestBodyJson = JsonConvert.SerializeObject(requestBody); HttpWebRequest.ContentLength = requestBodyJson.Length; using (var writtingStream = new StreamWriter(HttpWebRequest.GetRequestStream())) writtingStream.Write(requestBodyJson); using (var response = HttpWebRequest.GetResponse()) using (var responseStream = new StreamReader(response.GetResponseStream())) { tokenString = responseStream.ReadToEnd(); var temp = new Token() { access_token = new AccessToken() }; OauthToken = JsonConvert.DeserializeObject <OauthToken>(tokenString); } return(true); } catch (Exception ex) { throw ex; } }
public FinnotechApplication() { ApplicationCredentials = new ApplicationCredentials(); }