コード例 #1
0
ファイル: OAuthsController.cs プロジェクト: rjunchen/JunsBlog
 public OAuthsController(IHttpContextAccessor httpContextAccessor, IAuthenticationSettings authSettings, IDatabaseService databaseService,
                         IJwtTokenHelper jwtTokenHelper, ILogger <OAuthsController> logger)
 {
     this.authSettings        = authSettings;
     this.databaseService     = databaseService;
     this.jwtTokenHelper      = jwtTokenHelper;
     this.httpContextAccessor = httpContextAccessor;
     this.logger = logger;
 }
		protected GenericNetworkCredentials CheckAuthenticationToken(IAuthenticationSettings authenticationSettings)
		{
			var credentials = new GenericNetworkCredentials
			{
			    UserName = authenticationSettings.BoxNetUsername, 
				Password = authenticationSettings.BoxNetPassword
			};

			return credentials;
		}
コード例 #3
0
        public Form1()
        {
            InitializeComponent();

            authSettings = new AuthenticationSettings();
            SetAuthenticationSettings();
            authorizationAD = new AuthorizationAD(authSettings);

            Task.Run(async() => { Token = await authorizationAD.GetToken(); }).Wait();
        }
コード例 #4
0
ファイル: Authenticate.cs プロジェクト: oshalygin/SolutionPub
        private static string ConstructAuthenticationHeader(IAuthenticationSettings authenticationSettings)
        {
            var authenticationConsumerKey = Uri.EscapeDataString(authenticationSettings.OauthConsumerKey);
            var authenticationConsumerSecret = Uri.EscapeDataString(authenticationSettings.OauthConsumerSecret);
            var byteEncodedConsumerAuthentication =
                Encoding.UTF8.GetBytes(authenticationConsumerKey +
                                       ":" + authenticationConsumerSecret);
            var convertedConsumerAuthentication = Convert.ToBase64String(byteEncodedConsumerAuthentication);

            return $"{BasicAuthentication} {convertedConsumerAuthentication}";
        }
コード例 #5
0
 public ClaimPrincipalManager(IHttpContextAccessor httpContextAccessor,
                              IAuthorizationService authorizationService,
                              IJwtTokenValidationSettings jwtTokenValidationSettings,
                              IJwtTokenIssuerSettings jwtTokenIssuerSettings,
                              IAuthenticationSettings authenticationSettings)
 {
     this.httpContext                = httpContextAccessor.HttpContext;
     this.authorizationService       = authorizationService;
     this.jwtTokenValidationSettings = jwtTokenValidationSettings;
     this.jwtTokenIssuerSettings     = jwtTokenIssuerSettings;
     this.authenticationSettings     = authenticationSettings;
 }
コード例 #6
0
ファイル: Authenticate.cs プロジェクト: oshalygin/SolutionPub
        public AuthenticationResponse AuthenticateUser(IAuthenticationSettings authenticationSettings)
        {
            var authenticationHeader = ConstructAuthenticationHeader(authenticationSettings);
            var authenticationUrl = authenticationSettings.OauthUrl;

            var httpClientHandler = new HttpClientHandler
            {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
            };

            return SendHttpRequest(httpClientHandler, authenticationHeader, authenticationUrl);
        }
	    protected Auth CheckAuthenticationToken(IAuthenticationSettings authenticationSettings)
		{
			if (string.IsNullOrEmpty(authenticationSettings.FlickrAuthToken))
			{
				throw new Exception("No Flickr AuthToken!");
			}

			Flickr.CacheTimeout = new TimeSpan(1, 0, 0, 0, 0);

			var flickrService = new Flickr(authenticationSettings.FlickrApiKey, authenticationSettings.FlickrApiSecret, authenticationSettings.FlickrAuthToken);
			var authenticationToken = flickrService.AuthCheckToken(authenticationSettings.FlickrAuthToken);

			return authenticationToken;
		}
コード例 #8
0
        public void Register(IAuthenticationSettings contractObject, SecureString password)
        {
            if (null == contractObject)
            {
                throw new ArgumentNullException(nameof(contractObject));
            }

            if (null != password && 0 == password.Length)
            {
                password = null;
            }

            string authenticationSettingsFilePath = SettingsUtility.GetAuthenticationSettingsFilePath(contractObject.Identifier);

            if (File.Exists(authenticationSettingsFilePath))
            {
                throw new DuplicateRegistrationException(
                          string.Format(CultureInfo.InvariantCulture,
                                        Resources.EntranceService_Register_WMID__0_000000000000__already_registered_in_the_program_, contractObject.Identifier));
            }

            var authenticationSettings = contractObject as AuthenticationSettings ?? AuthenticationSettings.Create(contractObject);

            if (null == authenticationSettings.RequestNumberSettings)
            {
                authenticationSettings.RequestNumberSettings =
                    new RequestNumberSettings
                {
                    Method = RequestNumberGenerationMethod.UnixTimestamp
                }
            }
            ;

            authenticationSettings.Save(authenticationSettingsFilePath, password);

            if (!ApplicationUtility.IsRunningOnMono)
            {
                try
                {
                    File.Encrypt(authenticationSettingsFilePath);
                    File.SetAttributes(authenticationSettingsFilePath, FileAttributes.Hidden | FileAttributes.Encrypted);
                }
                catch (Exception exception)
                {
                    Logger.Error(exception.Message, exception);
                }
            }
        }
コード例 #9
0
ファイル: TwitterApi.cs プロジェクト: oshalygin/SolutionPub
        public TwitterApi()
        {
            const string baseTwitterConfiguration = "Data:TwitterConfiguration";
            string username;
            string tweetCount;
            string excludeReplies;
            string includeRetweets;
            string timelineFormat;
            string oAuthUrl;
            string oAuthConsumerKey;
            string oAuthConsumerSecret;

            var configuration = new ConfigurationBuilder().SetBasePath(@"..\")
                .AddJsonFile("config.json");

            var twitterConfiguration = configuration.Providers.Single();
            _timelineSettings = new TimelineSettings();

            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:username", out username);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:count", out tweetCount);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:excludeReplies", out excludeReplies);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:includeRetweets", out includeRetweets);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:timelineFormat", out timelineFormat);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:oAuthUrl", out oAuthUrl);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:oAuthConsumerKey", out oAuthConsumerKey);
            twitterConfiguration.TryGet($"{baseTwitterConfiguration}:oAuthConsumerSecret", out oAuthConsumerSecret);

            _timelineSettings.UserName = username;
            _timelineSettings.Count = int.Parse(tweetCount);
            _timelineSettings.ExcludeReplies = excludeReplies;
            _timelineSettings.IncludeRetweets = includeRetweets;
            _timelineSettings.TimelineFormat = timelineFormat;

            _authenticationSettings = new AuthenticationSettings
            {
                OauthUrl = oAuthUrl,
                OauthConsumerKey = oAuthConsumerKey,
                OauthConsumerSecret = oAuthConsumerSecret
            };
        }
コード例 #10
0
 public AuthorizationAD(IAuthenticationSettings authenticationSettings)
 {
     this.authSettings = authenticationSettings;
 }
        /// <summary>
        /// Retrieves a token from the certificate for delegated auth
        /// </summary>
        /// <param name="certificate">The application's certificate</param>
        /// <param name="authenticationSettings">Authentication settings</param>
        /// <param name="resource">Requested resource</param>
        /// <param name="authorizationCode">Access code for user assertion</param>
        /// <returns>Authentication result including token</returns>
        public static AuthenticationResult GetTokenOnBehalfOf(this X509Certificate2 certificate, IAuthenticationSettings authenticationSettings, string resource, string authorizationCode)
        {
            var authenticationContext = GetAuthenticationContext(authenticationSettings);

            // Then create the certificate credential and user assertion.
            var certificateCredential = new ClientAssertionCertificate(authenticationSettings.ClientId, certificate);

            // ADAL includes an in memory cache, so this call will only send a message to the server if the cached token is expired.
            var authResult = authenticationContext.AcquireTokenByAuthorizationCode(
                authorizationCode,
                new Uri(authenticationSettings.RedirectUri),
                certificateCredential,
                resource);

            return(authResult);
        }
        /// <summary>
        /// Retrieves a token from the certificate.
        /// </summary>
        /// <param name="certificate">The certificate.</param>
        /// <param name="authenticationSettings">The authentication settings.</param>
        /// <param name="resource">The target resource.</param>
        /// <returns>The token.</returns>
        public static AuthenticationResult GetToken(this X509Certificate2 certificate, IAuthenticationSettings authenticationSettings, string resource)
        {
            var authenticationContext = GetAuthenticationContext(authenticationSettings);

            // Then create the certificate credential.
            var certificateCredential = new ClientAssertionCertificate(authenticationSettings.ClientId, certificate);

            // ADAL includes an in memory cache, so this call will only send a message to the server if the cached token is expired.
            var authResult = authenticationContext.AcquireToken(resource, certificateCredential);

            return(authResult);
        }
 /// <summary>
 /// Creates an authentication context.
 /// </summary>
 /// <param name="authenticationSettings">The authentication settings.</param>
 /// <returns>The context.</returns>
 private static AuthenticationContext GetAuthenticationContext(IAuthenticationSettings authenticationSettings)
 {
     return(new AuthenticationContext(string.Format("{0}/{1}", authenticationSettings.RootUrl, authenticationSettings.TenantId)));
 }
コード例 #14
0
 public MembershipService(IAuthenticationSettings settings)
 {
     this.settings = settings;
 }
	    private ICloudStorageAccessToken GetAccessToken(DropBoxConfiguration config, IAuthenticationSettings authenticationSettings)
        {
            var accessToken  = DropBoxExtensions.GetDropBoxAccessToken(authenticationSettings.DropBoxAuthenticationKey, authenticationSettings.DropBoxAuthenticationSecret, authenticationSettings.DropBoxApiKey, authenticationSettings.DropBoxApiSecret);
            return accessToken;
        }
コード例 #16
0
 public TokenProvider(IAuthenticationSettings authenticationSettings)
 {
     _authenticationSettings = authenticationSettings;
 }
コード例 #17
0
 /// <summary>
 ///  Initializes a new instance of the <see cref="CrmTokenManager" /> class.
 /// </summary>
 /// <param name="authenticationSettings">The authentication settings.</param>
 /// <param name="certificateSettings">The certificat settings.</param>
 /// <param name="resource">The resource.</param>
 public CrmTokenManager(IAuthenticationSettings authenticationSettings, ICertificateSettings certificateSettings, string resource)
 {
     this.AuthenticationSettings = authenticationSettings;
     this.CertificateSettings    = certificateSettings;
     this.Resource = resource;
 }
コード例 #18
0
 public MembershipService(IAuthenticationSettings settings)
 {
     this.settings = settings;
 }