Example #1
0
        internal void UpdateOptions(OAuthConnectorOptions config, OAuthServiceOptions options)
        {
            if (config == null)
            {
                return;
            }

            options.ClientId             = config.ClientId;
            options.ClientSecret         = config.ClientSecret;
            options.AccessTokenUrl       = config.OAuthServiceUrl + config.AccessTokenUri;
            options.UserAuthorizationUrl = config.OAuthServiceUrl + config.UserAuthorizationUri;
            options.TokenInfoUrl         = config.OAuthServiceUrl + config.TokenInfoUri;
            options.UserInfoUrl          = config.OAuthServiceUrl + config.UserInfoUri;
            options.JwtKeyUrl            = config.OAuthServiceUrl + config.JwtKeyUri;
            options.ValidateCertificates = config.ValidateCertificates;
            if (config.Scope != null)
            {
                foreach (var scope in config.Scope)
                {
                    options.Scope.Add(scope);
                }
            }

            return;
        }
Example #2
0
        internal IOptions <OAuthServiceOptions> Configure(SsoServiceInfo si, OAuthConnectorOptions configuration)
        {
            OAuthServiceOptions ssoOptions = new OAuthServiceOptions();

            UpdateOptions(configuration, ssoOptions);
            UpdateOptions(si, ssoOptions);
            return(new ConnectorIOptions <OAuthServiceOptions>(ssoOptions));
        }
        /// <summary>
        /// Adds OAuthServiceOptions to Service Collection
        /// </summary>
        /// <param name="services">Your Service Collection</param>
        /// <param name="config">Application Configuration</param>
        /// <returns>IServiceCollection for chaining</returns>
        public static IServiceCollection AddOAuthServiceOptions(this IServiceCollection services, IConfiguration config)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            var oauthConfig = new OAuthConnectorOptions(config);
            var info        = config.GetSingletonServiceInfo <SsoServiceInfo>();
            var factory     = new OAuthConnectorFactory(info, oauthConfig);

            services.AddSingleton(typeof(IOptions <OAuthServiceOptions>), factory.Create);
            return(services);
        }
        public static IServiceCollection AddOAuthServiceOptions(this IServiceCollection services, IConfiguration config, string serviceName)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (string.IsNullOrEmpty(serviceName))
            {
                throw new ArgumentNullException(nameof(serviceName));
            }

            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            OAuthConnectorOptions oauthConfig = new OAuthConnectorOptions(config);
            SsoServiceInfo        info        = config.GetRequiredServiceInfo <SsoServiceInfo>(serviceName);
            OAuthConnectorFactory factory     = new OAuthConnectorFactory(info, oauthConfig);

            services.AddSingleton(typeof(IOptions <OAuthServiceOptions>), factory.Create);
            return(services);
        }
Example #5
0
 public OAuthConnectorFactory(SsoServiceInfo sinfo, OAuthConnectorOptions config)
 {
     _info   = sinfo;
     _config = config;
 }