private Uri GetServiceLoginUrl(Uri returnUrl) { UriBuilder builder = new UriBuilder(this.AuthorizationEndpoint); StringBuilder queryStringBuilder = new StringBuilder(); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "client_id", this.AppID); var state = System.Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(returnUrl.Query)); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "state", state); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "scope", "profile"); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "response_type", "code"); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "redirect_uri", returnUrl.GetLeftPart(UriPartial.Path)); builder.Query = queryStringBuilder.ToString(); return(builder.Uri); }
private Dictionary <string, string> GetCustomerProfile(string accessToken) { UriBuilder builder = new UriBuilder(this.ProfileEndpoint); StringBuilder queryStringBuilder = new StringBuilder(); UriUtilities.AppendQueryStringArgument(queryStringBuilder, "access_token", accessToken); builder.Query = queryStringBuilder.ToString(); Dictionary <string, string> result = new Dictionary <string, string>(); using (WebClient webClient = new WebClient()) { string response = webClient.DownloadString(builder.Uri); JavaScriptSerializer serializer = new JavaScriptSerializer(); result = serializer.Deserialize <Dictionary <string, string> >(response); } return(result); }