Ejemplo n.º 1
0
 public Fido2LinkCommand(IFido2 fido2, ICacheItemRepository cacheItemRepository,
                         IOwnIdCoreConfiguration configuration, IIdentitiesProvider identitiesProvider,
                         IEncodingService encodingService, IAccountLinkHandler linkHandler) : base(fido2, cacheItemRepository,
                                                                                                   configuration, identitiesProvider, encodingService)
 {
     _linkHandler = linkHandler;
 }
 public Fido2RecoveryCommand(IFido2 fido2, ICacheItemRepository cacheItemRepository,
                             IOwnIdCoreConfiguration configuration, IIdentitiesProvider identitiesProvider,
                             IEncodingService encodingService, IAccountRecoveryHandler recoveryHandler) : base(fido2,
                                                                                                               cacheItemRepository, configuration, identitiesProvider, encodingService)
 {
     _recoveryHandler = recoveryHandler;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// </summary>
 /// <param name="ownIdCoreConfiguration">Core configuration to be used</param>
 /// <param name="jwtService">Service for generating JWT</param>
 /// <param name="localizationService">Optional(only if localization is needed). Localization service</param>
 public JwtComposer([NotNull] IOwnIdCoreConfiguration ownIdCoreConfiguration,
                    [NotNull] IJwtService jwtService, ILocalizationService localizationService)
 {
     _jwtService             = jwtService;
     _localizationService    = localizationService;
     _ownIdCoreConfiguration = ownIdCoreConfiguration;
 }
 public RedisCacheStore(IConfiguration configuration, IOwnIdCoreConfiguration coreConfiguration,
                        ILogger <RedisCacheStore> logger) : this(
         configuration.GetSection("ownid")?["cache_config"])
 {
     _logger    = logger;
     _keyPrefix = coreConfiguration.DID;
 }
 public GetFido2SettingsCommand(ICacheItemRepository cacheItemRepository, IUrlProvider urlProvider,
                                IOwnIdCoreConfiguration ownIdCoreConfiguration)
 {
     _cacheItemRepository    = cacheItemRepository;
     _urlProvider            = urlProvider;
     _ownIdCoreConfiguration = ownIdCoreConfiguration;
 }
Ejemplo n.º 6
0
 public Fido2UpgradeConnectionCommand(IFido2 fido2, ICacheItemRepository cacheItemRepository,
                                      IOwnIdCoreConfiguration configuration, IIdentitiesProvider identitiesProvider,
                                      IEncodingService encodingService, IUserHandlerAdapter userHandlerAdapter) : base(fido2, cacheItemRepository,
                                                                                                                       configuration, identitiesProvider, encodingService)
 {
     _userHandlerAdapter = userHandlerAdapter;
 }
Ejemplo n.º 7
0
        public PartialAuthorizeFlow(IServiceProvider serviceProvider, IOwnIdCoreConfiguration ownIdCoreConfiguration) :
            base(serviceProvider, FlowType.PartialAuthorize, ownIdCoreConfiguration)
        {
            // 1.Starting 2.AcceptStart
            AddStartingTransitions(GetOnStartAcceptBehavior);

            // 3. (optional) ConnectionRestore
            AddHandler <ConnectionRestoreBaseTransitionHandler, TransitionInput>((_, item) =>
                                                                                 GetOnRecoveryConnectionPassedBehavior(item));

            if (!ownIdCoreConfiguration.LoginOnlyEnabled)
            {
                // 4. (optional) CheckUserExistence
                AddHandler <CheckUserExistenceBaseTransitionHandler, TransitionInput <UserIdentification> >((_, item) =>
                                                                                                            GetOnInstantAuthorizeBehavior(item));
            }
            else
            {
                // 4. (optional) CheckUserExistence
                AddHandler <CheckUserExistenceBaseTransitionHandler, TransitionInput <UserIdentification> >((_, item) =>
                                                                                                            GetOnInstantAuthorizeBehavior(item));
            }

            // 5. InstantAuthorize
            AddHandler <InstantAuthorizeBaseTransitionHandler, TransitionInput <JwtContainer> >((_, item) =>
                                                                                                GetOnSwitchAuthType(item));

            // 6. (optional) upgrade to passcode
            AddHandler <UpgradeToPasscodeTransitionHandler, TransitionInput <JwtContainer> >(OnSuccess);

            // 6. (optional) upgrade to fido
            AddHandler <UpgradeToFido2TransitionHandler, TransitionInput <string> >(OnSuccess);
        }
Ejemplo n.º 8
0
 public GigyaAccountLinkHandler(GigyaRestApiClient <TProfile> restApiClient, GigyaConfiguration configuration,
                                IOwnIdCoreConfiguration ownIdConfiguration)
 {
     _restApiClient      = restApiClient;
     _configuration      = configuration;
     _ownIdConfiguration = ownIdConfiguration;
 }
Ejemplo n.º 9
0
 public SavePartialConnectionCommand(ICacheItemRepository cacheItemRepository,
                                     IUserHandlerAdapter userHandlerAdapter, IOwnIdCoreConfiguration configuration)
 {
     _cacheItemRepository = cacheItemRepository;
     _userHandlerAdapter  = userHandlerAdapter;
     _configuration       = configuration;
 }
 public Fido2LoginCommand(IFido2 fido2, ICacheItemRepository cacheItemRepository,
                          IUserHandlerAdapter userHandlerAdapter, IOwnIdCoreConfiguration configuration)
 {
     _fido2 = fido2;
     _cacheItemRepository = cacheItemRepository;
     _userHandlerAdapter  = userHandlerAdapter;
     _configuration       = configuration;
 }
Ejemplo n.º 11
0
 public CookieService(IOwnIdCoreConfiguration configuration)
 {
     _configuration       = configuration;
     EncryptionCookieName = string.Format(CookieNameTemplates.Encryption, _configuration.CookieReference);
     RecoveryCookieName   = string.Format(CookieNameTemplates.Recovery, _configuration.CookieReference);
     CredIdCookieName     = string.Format(CookieNameTemplates.CredId, _configuration.CookieReference);
     _domain = _configuration.OwnIdApplicationUrl.GetWebAppBaseDomain();
 }
Ejemplo n.º 12
0
 public GetStatusCommand(IUserHandlerAdapter userHandlerAdapter, ICacheItemRepository cacheItemRepository,
                         ILocalizationService localizationService, IJwtService jwtService, IOwnIdCoreConfiguration configuration)
 {
     _userHandlerAdapter  = userHandlerAdapter;
     _cacheItemRepository = cacheItemRepository;
     _localizationService = localizationService;
     _jwtService          = jwtService;
     _configuration       = configuration;
 }
 public SaveRecoveredAccountConnectionCommand(ICacheItemRepository cacheItemRepository, IJwtService jwtService,
                                              IAccountRecoveryHandler recoveryHandler,
                                              IOwnIdCoreConfiguration coreConfiguration)
 {
     _cacheItemRepository = cacheItemRepository;
     _jwtService          = jwtService;
     _recoveryHandler     = recoveryHandler;
     _coreConfiguration   = coreConfiguration;
 }
 public TrySwitchToFido2FlowCommand(IOwnIdCoreConfiguration coreConfiguration,
                                    ICacheItemRepository cacheItemRepository, IUrlProvider urlProvider,
                                    ILogger <TrySwitchToFido2FlowCommand> logger, IEventsMetricsService eventsMetricsService = null)
 {
     _coreConfiguration   = coreConfiguration;
     _cacheItemRepository = cacheItemRepository;
     _urlProvider         = urlProvider;
     _logger = logger;
     _eventsMetricsService = eventsMetricsService;
 }
        public RecoveryWithPinFlow(IServiceProvider serviceProvider, IOwnIdCoreConfiguration coreConfiguration) : base(
                serviceProvider, FlowType.RecoverWithPin, coreConfiguration)
        {
            // 1.Starting 2.PinApprovalStatus 3.AcceptStart
            AddStartingTransitionsWithPin <RecoverAcceptStartTransitionHandler>(StepType.Recover);

            // 4. Recover
            AddHandler <RecoveryTransitionHandler, TransitionInput <JwtContainer> >((_, item) =>
                                                                                    FrontendBehavior.CreateSuccessFinish(item.ChallengeType));
        }
 public Fido2RegisterCommand(IFido2 fido2, ICacheItemRepository cacheItemRepository,
                             IOwnIdCoreConfiguration configuration, IIdentitiesProvider identitiesProvider,
                             IEncodingService encodingService)
 {
     _fido2 = fido2;
     CacheItemRepository = cacheItemRepository;
     _configuration      = configuration;
     _identitiesProvider = identitiesProvider;
     _encodingService    = encodingService;
 }
Ejemplo n.º 17
0
 public RecoverAcceptStartTransitionHandler(IJwtComposer jwtComposer, StopFlowCommand stopFlowCommand,
                                            IUrlProvider urlProvider, IOwnIdCoreConfiguration coreConfiguration,
                                            TrySwitchToFido2FlowCommand trySwitchToFido2FlowCommand, RecoverAccountCommand recoverAccountCommand,
                                            SetNewEncryptionTokenCommand setNewEncryptionTokenCommand, IIdentitiesProvider identitiesProvider,
                                            VerifyFido2CredentialIdCommand verifyFido2CredentialIdCommand) : base(jwtComposer, stopFlowCommand,
                                                                                                                  urlProvider, coreConfiguration, trySwitchToFido2FlowCommand, setNewEncryptionTokenCommand,
                                                                                                                  identitiesProvider, verifyFido2CredentialIdCommand)
 {
     _recoverAccountCommand = recoverAccountCommand;
 }
Ejemplo n.º 18
0
 public AddConnectionCommand(IAccountLinkHandler accountLinkHandler, ICacheItemRepository cacheItemRepository,
                             IUserHandlerAdapter userHandlerAdapter, IOwnIdCoreConfiguration coreConfiguration,
                             ILocalizationService localizationService)
 {
     _accountLinkHandler  = accountLinkHandler;
     _cacheItemRepository = cacheItemRepository;
     _userHandlerAdapter  = userHandlerAdapter;
     _coreConfiguration   = coreConfiguration;
     _localizationService = localizationService;
 }
Ejemplo n.º 19
0
        public LinkWithPinFlow(IServiceProvider serviceProvider, IOwnIdCoreConfiguration ownIdCoreConfiguration) : base(
                serviceProvider, FlowType.LinkWithPin, ownIdCoreConfiguration)
        {
            // 1.Starting 2.PinApprovalStatus 3.AcceptStart
            AddStartingTransitionsWithPin(StepType.Link);

            // 4. Link
            AddHandler <LinkBaseTransitionHandler, TransitionInput <JwtContainer> >((_, item) =>
                                                                                    FrontendBehavior.CreateSuccessFinish(item.ChallengeType));
        }
 public CreateFlowCommand(ICacheItemRepository cacheItemRepository, IUrlProvider urlProvider,
                          IIdentitiesProvider identitiesProvider, IOwnIdCoreConfiguration configuration,
                          IAccountLinkHandler linkHandler = null, IMagicLinkConfiguration magicLinkConfiguration = null)
 {
     _cacheItemRepository = cacheItemRepository;
     _urlProvider         = urlProvider;
     _identitiesProvider  = identitiesProvider;
     _configuration       = configuration;
     _linkHandler         = linkHandler;
     _magicLinkEnabled    = magicLinkConfiguration?.RedirectUrl != null;
 }
Ejemplo n.º 21
0
 protected BasePartialFlow(IServiceProvider serviceProvider, FlowType flowType,
                           IOwnIdCoreConfiguration coreConfiguration) : base(serviceProvider, flowType)
 {
     CoreConfiguration = coreConfiguration;
     AddHandler <StopFlowTransitionHandler, TransitionInput>((_, item) => new FrontendBehavior
     {
         Type          = StepType.Stopped,
         ChallengeType = item.ChallengeType,
         ActionType    = ActionType.Finish
     });
 }
 public AcceptStartTransitionHandler(IJwtComposer jwtComposer, StopFlowCommand stopFlowCommand,
                                     IUrlProvider urlProvider, IOwnIdCoreConfiguration coreConfiguration,
                                     TrySwitchToFido2FlowCommand trySwitchToFido2FlowCommand,
                                     SetNewEncryptionTokenCommand setNewEncryptionTokenCommand, IIdentitiesProvider identitiesProvider,
                                     VerifyFido2CredentialIdCommand verifyFido2CredentialIdCommand) : base(jwtComposer, stopFlowCommand,
                                                                                                           urlProvider)
 {
     _coreConfiguration              = coreConfiguration;
     _trySwitchToFido2FlowCommand    = trySwitchToFido2FlowCommand;
     _setNewEncryptionTokenCommand   = setNewEncryptionTokenCommand;
     _identitiesProvider             = identitiesProvider;
     _verifyFido2CredentialIdCommand = verifyFido2CredentialIdCommand;
 }
Ejemplo n.º 23
0
        public RedisCacheStore(string configurationString, IOwnIdCoreConfiguration coreConfiguration,
                               ILogger <RedisCacheStore> logger)
        {
            _logger    = logger;
            _keyPrefix = coreConfiguration.DID;

            if (string.IsNullOrEmpty(configurationString))
            {
                throw new ArgumentException("No configuration was provided");
            }

            _redisDb = ConnectionMultiplexer.Connect(configurationString).GetDatabase();
        }
Ejemplo n.º 24
0
 public InstantAuthorizeBaseTransitionHandler(IJwtComposer jwtComposer, StopFlowCommand stopFlowCommand,
                                              IUrlProvider urlProvider, SavePartialConnectionCommand savePartialConnectionCommand,
                                              ICookieService cookieService, IJwtService jwtService, IUserHandlerAdapter userHandlerAdapter,
                                              IOwnIdCoreConfiguration configuration, ICacheItemRepository cacheItemRepository) : base(jwtComposer,
                                                                                                                                      stopFlowCommand, urlProvider)
 {
     _savePartialConnectionCommand = savePartialConnectionCommand;
     _cookieService       = cookieService;
     _jwtService          = jwtService;
     _userHandlerAdapter  = userHandlerAdapter;
     _configuration       = configuration;
     _cacheItemRepository = cacheItemRepository;
 }
Ejemplo n.º 25
0
 public SendMagicLinkCommand(ICacheItemRepository cacheItemRepository, IUserHandlerAdapter userHandlerAdapter,
                             IIdentitiesProvider identitiesProvider, IEmailService emailService,
                             IMagicLinkConfiguration magicLinkConfiguration, IOwnIdCoreConfiguration ownIdCoreConfiguration,
                             ILocalizationService localizationService)
 {
     _cacheItemRepository    = cacheItemRepository;
     _userHandlerAdapter     = userHandlerAdapter;
     _identitiesProvider     = identitiesProvider;
     _emailService           = emailService;
     _magicLinkConfiguration = magicLinkConfiguration;
     _ownIdCoreConfiguration = ownIdCoreConfiguration;
     _localizationService    = localizationService;
     _tokenExpiration        = TimeSpan.FromMilliseconds(magicLinkConfiguration.TokenLifetime);
 }
Ejemplo n.º 26
0
        public RecoveryFlow(IServiceProvider serviceProvider, IOwnIdCoreConfiguration coreConfiguration) : base(
                serviceProvider, FlowType.Recover, coreConfiguration)
        {
            // 1. Starting
            AddHandler <StartFlowTransitionHandler, TransitionInput <StartRequest> >((input, item) =>
                                                                                     GetReferenceToExistingStep(StepType.AcceptStart, input.Context, item.ChallengeType));

            // 2. AcceptStart
            AddHandler <RecoverAcceptStartTransitionHandler, TransitionInput <AcceptStartRequest> >((input, item) =>
            {
                var next = GetReferenceToExistingStep(StepType.Recover, input.Context, item.ChallengeType);
                return(TryAddFido2DisclaimerToBehavior(input, item, next));
            });

            // 3. Recover
            AddHandler <RecoveryTransitionHandler, TransitionInput <JwtContainer> >((_, item) =>
                                                                                    FrontendBehavior.CreateSuccessFinish(item.ChallengeType));
        }
Ejemplo n.º 27
0
 public JwtService(IOwnIdCoreConfiguration ownIdCoreConfiguration)
 {
     _ownIdCoreConfiguration = ownIdCoreConfiguration;
 }
 public SetNewEncryptionTokenCommand(IOwnIdCoreConfiguration coreConfiguration,
                                     ICacheItemRepository cacheItemRepository)
 {
     _coreConfiguration   = coreConfiguration;
     _cacheItemRepository = cacheItemRepository;
 }
Ejemplo n.º 29
0
 public UrlProvider(IOwnIdCoreConfiguration coreConfiguration)
 {
     _coreConfiguration = coreConfiguration;
 }
Ejemplo n.º 30
0
 public ConfigInjectionMiddleware(RequestDelegate next, IOwnIdCoreConfiguration configuration)
 {
     _configuration = configuration;
 }