Example #1
0
        public virtual Task <OAuth1Credentials> GetCredentialsAsync()
        {
            var userId = Guid.NewGuid().ToString();

            var securityStrategy = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));

            var builder =
                new OAuthBuilder(
                    _uiFactory,
                    null,
                    securityStrategy);
            var facade = builder.BuildOAuth1Facade(
                _provider,
                new OAuth1Authentication(),
                _consumerKey,
                _consumerSecret,
                _callbackUrl);
            var template = builder.BuildOAuth1Template <TResourceProvider>(
                facade,
                _browserType,
                userId);

            return(template.GetAccessTokenCredentials(userId));
        }
        public static OAuthBuilder AddMicrosoftAccount(this OAuthBuilder builder, Action <MicrosoftAccountOptions> configureOptions)
        {
            builder.Services.Configure(configureOptions);
            builder.Services.AddTransient <MicrosoftAccountAgent>();
            builder.Services.AddSingleton <IPostConfigureOptions <MicrosoftAccountOptions>, OAuthAgentPostConfigureOptions <MicrosoftAccountOptions> >();

            builder.Services.Configure <OAuthOptions>(options =>
            {
                options.RegisterService(MicrosoftAccountDefaults.Id, typeof(MicrosoftAccountAgent));
            });

            return(builder);
        }
        public static OAuthBuilder AddGoogle(this OAuthBuilder builder, Action <GoogleOptions> configureOptions)
        {
            builder.Services.Configure(configureOptions);
            builder.Services.AddTransient <GoogleAgent>();
            builder.Services.AddSingleton <IPostConfigureOptions <GoogleOptions>, OAuthAgentPostConfigureOptions <GoogleOptions> >();

            builder.Services.Configure <OAuthOptions>(options =>
            {
                options.RegisterService(GoogleDefaults.Id, typeof(GoogleAgent));
            });

            return(builder);
        }