public string GetOauthCodeUrl(string clientId, AppScopeEnum scope, string redirectUris = "urn:ietf:wg:oauth:2.0:oob") { var getScope = Uri.EscapeDataString(AppScopesConverter.GetScopes(scope)); var oauthCodeUrl = $"{_instanceUrl}/oauth/authorize?scope={getScope}&response_type=code&redirect_uri={redirectUris}&client_id={clientId}"; return(oauthCodeUrl); }
public void ConvertFollow() { var enumWithNoFlag = AppScopeEnum.Follow; var value = AppScopesConverter.GetScopes(enumWithNoFlag); Assert.AreEqual("follow", value); }
public void ConvertWrite() { var enumWithNoFlag = AppScopeEnum.Write; var value = AppScopesConverter.GetScopes(enumWithNoFlag); Assert.AreEqual("write", value); }
public void ConvertRead() { var enumWithNoFlag = AppScopeEnum.Read; var value = AppScopesConverter.GetScopes(enumWithNoFlag); Assert.AreEqual("read", value); }
public void ConvertReadWriteFollow() { var enumWithNoFlag = AppScopeEnum.Read | AppScopeEnum.Write | AppScopeEnum.Follow; var value = AppScopesConverter.GetScopes(enumWithNoFlag); Assert.IsTrue(value.Contains("read")); Assert.IsTrue(value.Contains("write")); Assert.IsTrue(value.Contains("follow")); }
public async Task <AppInfo> CreateAppAsync(string clientName, AppScopeEnum scopes, string website, string redirectUris = "urn:ietf:wg:oauth:2.0:oob") { var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("client_name", clientName)); parameters.Add(new KeyValuePair <string, string>("redirect_uris", redirectUris)); parameters.Add(new KeyValuePair <string, string>("scopes", AppScopesConverter.GetScopes(scopes))); parameters.Add(new KeyValuePair <string, string>("website", website)); var formUrlEncodedContent = new FormUrlEncodedContent(parameters); var url = _instanceUrl + ApiRoutes.CreateApp; var response = await _httpClient.PostAsync(url, formUrlEncodedContent); var content = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <AppInfo>(content)); }
public async Task <TokenInfo> GetTokenInfoAsync(string clientId, string clientSecret, string userEmail, string userPassword, AppScopeEnum scope) { var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("client_id", clientId)); parameters.Add(new KeyValuePair <string, string>("client_secret", clientSecret)); parameters.Add(new KeyValuePair <string, string>("grant_type", "password")); parameters.Add(new KeyValuePair <string, string>("username", userEmail)); parameters.Add(new KeyValuePair <string, string>("password", userPassword)); parameters.Add(new KeyValuePair <string, string>("scope", AppScopesConverter.GetScopes(scope))); var formUrlEncodedContent = new FormUrlEncodedContent(parameters); var url = _instanceUrl + ApiRoutes.GetToken; var response = await _httpClient.PostAsync(url, formUrlEncodedContent); var content = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <TokenInfo>(content)); }