ImgurNet.Authentication.OAuth2Authentication.CreateAuthorizationUrl C# (CSharp) Method

CreateAuthorizationUrl() public method

Creates the Authorization Url, that the user will visit to allow your application to access their user account. For more information on how OAuth2 on Imgur works, visit their Developer Section (https://api.imgur.com/oauth2)
public CreateAuthorizationUrl ( OAuth2Type responseType, string state = null ) : string
responseType OAuth2Type /// The type of response you want to use. It's recomended that; /// - Pin: Desktop/Server/Mobile Applications /// - Code: Desktop/Server/Mobile Applications /// - Token: Javascript Applications ///
state string The state you want to pass through auth. This will be given back to you from the re-direct url if you use Code or Token Authentication.
return string
		public string CreateAuthorizationUrl(OAuth2Type responseType, string state = null)
		{
			var queryStrings = new Dictionary<string, string> { { "client_id", ClientId } };
			if (state != null) queryStrings.Add("state", state);

			OAuthType = responseType;
			switch (responseType)
			{
				case OAuth2Type.Code:
					queryStrings.Add("response_type", "code");
					break;
				case OAuth2Type.Token:
					queryStrings.Add("response_type", "token");
					break;
				case OAuth2Type.Pin:
					queryStrings.Add("response_type", "pin");
					break;
				default:
					throw new InvalidOperationException();
			}

			return queryStrings.ToQueryString(AuthorizationEndpoint);
		}

Usage Example

		public async Task TestCodeAuth()
		{
			var settings = VariousFunctions.LoadTestSettings();

			// Create a new OAuth2 Authentication
			var oAuth2Authentication = new OAuth2Authentication(settings.ClientId, settings.ClientSecret, false);
			var authorizationUrl = oAuth2Authentication.CreateAuthorizationUrl(OAuth2Type.Code, "dicks");
			var code = "1234";
			try
			{
				await oAuth2Authentication.AuthorizeWithCode(code);
			}
			catch (ImgurResponseFailedException exception)
			{
				Assert.AreEqual(exception.ImgurResponse.Data.ErrorDescription, "Refresh token doesn't exist or is invalid for the client");
			}
		}
All Usage Examples Of ImgurNet.Authentication.OAuth2Authentication::CreateAuthorizationUrl