public ApplicationTokenProvider(IJwtTokenProvider tokenProvider, UserAccessConfigInfo userAccessConfig, ILoginUow loginUow, IUserClaim userClaim)
 {
     TokenProvider    = tokenProvider;
     UserAccessConfig = userAccessConfig;
     LoginUow         = loginUow;
     UserClaim        = userClaim;
 }
Example #2
0
        public AuthorizationControllerTests()
        {
            var userManagerLogger = new NullLogger <UserManager <RoadkillIdentityUser> >();
            var userStoreMock     = Substitute.For <IUserStore <RoadkillIdentityUser> >();

            _userManagerMock = Substitute.For <UserManager <RoadkillIdentityUser> >(
                userStoreMock,
                null,
                null,
                null,
                null,
                null,
                null,
                null,
                userManagerLogger);

            var signinManagerLogger = new NullLogger <SignInManager <RoadkillIdentityUser> >();
            var contextAccessorMock = Substitute.For <IHttpContextAccessor>();
            var claimFactoryMock    = Substitute.For <IUserClaimsPrincipalFactory <RoadkillIdentityUser> >();

            _signinManagerMock = Substitute.For <SignInManager <RoadkillIdentityUser> >(
                _userManagerMock,
                contextAccessorMock,
                claimFactoryMock,
                null,
                signinManagerLogger,
                null);

            _jwtTokenProvider        = Substitute.For <IJwtTokenProvider>();
            _authorizationController = new AuthorizationController(_userManagerMock, _signinManagerMock, _jwtTokenProvider);
        }
Example #3
0
 public AuthController(UserManager <IdentityUser> userManager, IJwtTokenProvider <IdentityUser> tokenProvider,
                       ILogger <AuthController> logger)
 {
     _userManager   = userManager;
     _tokenProvider = tokenProvider;
     _logger        = logger;
 }
Example #4
0
 public AccountService(UserManager <User> userManager, SignInManager <User> signInManager, IJwtTokenProvider jwtTokentHelper, IUnitOfWork unitOfWork)
 {
     _userManager     = userManager;
     _signInManager   = signInManager;
     _jwtTokentHelper = jwtTokentHelper;
     _unitOfWork      = unitOfWork;
 }
Example #5
0
 public ApplicationTokenProvider(IJwtTokenProvider tokenProvider, UserAccessConfigInfo userAccessConfig, ILoginUow loginUow, IUserClaim userClaim, IHttpContextAccessor contextAccessor)
 {
     TokenProvider    = tokenProvider;
     UserAccessConfig = userAccessConfig;
     LoginUow         = loginUow;
     UserClaim        = userClaim;
     ContextAccessor  = contextAccessor;
 }
Example #6
0
 public AuthService(
     IUnitOfWork unitOfWork,
     IJwtTokenProvider jwtTokenProvider,
     IPasswordManager passwordManager) : base(unitOfWork)
 {
     _passwordManager  = passwordManager;
     _jwtTokenProvider = jwtTokenProvider;
 }
Example #7
0
 public AuthController(IAccountService accountService, IJwtTokenProvider jwtTokenProvider, IUploadFileService uploadFileService, IPushNotificationService pushNotificationService, IMapper mapper)
 {
     _accountService          = accountService;
     _jwtTokenProvider        = jwtTokenProvider;
     _uploadFileService       = uploadFileService;
     _pushNotificationService = pushNotificationService;
     _mapper = mapper;
 }
Example #8
0
 /// <summary>
 /// 安全验证服务提供类构造
 /// </summary>
 /// <param name="serviceProxyProvider">服务代理</param>
 /// <param name="serviceRouteProvider">用务路由</param>
 public AuthorizationServerProvider(IServiceProxyProvider serviceProxyProvider
                                    , IServiceRouteProvider serviceRouteProvider,
                                    IJwtTokenProvider jwtTokenProvider)
 {
     _serviceProxyProvider = serviceProxyProvider;
     _serviceRouteProvider = serviceRouteProvider;
     _jwtTokenProvider     = jwtTokenProvider;
 }
 public AuthorizationController(
     UserManager <RoadkillIdentityUser> userManager,
     SignInManager <RoadkillIdentityUser> signInManager,
     IJwtTokenProvider jwtTokenProvider)
 {
     _userManager      = userManager;
     _signInManager    = signInManager;
     _jwtTokenProvider = jwtTokenProvider;
 }
 public AuthController(
     IUnitOfWork unitOfWork,
     IJwtTokenProvider jwtTokenProvider,
     IPasswordManager passwordManager
     )
 {
     _unitOfWork       = unitOfWork;
     _jwtTokenProvider = jwtTokenProvider;
     _passwordManager  = passwordManager;
 }
Example #11
0
 public AuthenticationService(IUserRepository userRepository, ILogInfoService logInfoService,
                              IMessengerService messengerService, IJwtTokenProvider jwtTokenProvider, IMapper mapper, IActionContextAccessor actionContext)
 {
     _userRepository   = userRepository;
     _logInfoService   = logInfoService;
     _messengerService = messengerService;
     _jwtTokenProvider = jwtTokenProvider;
     _mapper           = mapper;
     _actionContext    = actionContext;
 }
Example #12
0
 public TokenController(SignInManager <User> signInManager,
                        UserManager <User> userManager,
                        IUserStore <User> userStore,
                        IJwtTokenProvider jwtProvider,
                        ApplicationDbContext applicationDbContext)
 {
     _signInManager        = signInManager;
     _userManager          = userManager;
     _userStore            = userStore;
     _jwtProvider          = jwtProvider;
     _applicationDbContext = applicationDbContext;
 }
Example #13
0
 public AuthSvc(
     ILogger logger,
     IMapperCore mapper,
     AccountManagerFacade accountManager,
     IJwtTokenProvider tokenProvider,
     IConfiguration config) : base(logger)
 {
     _mapper         = mapper;
     _settings       = AppSettings.GetSettings(config ?? throw new ArgumentNullException(nameof(config)));
     _accountManager = accountManager;
     _tokenProvider  = tokenProvider;
 }
Example #14
0
 public JwtAuthService(
     [NotNull] IJwtTokenProvider jwtTokenProvider,
     [NotNull] IHttpContextProvider httpContextProvider,
     [NotNull] ISetting <JwtHttpSettings> jwtHttpSettings)
 {
     if (jwtHttpSettings == null)
     {
         throw new ArgumentNullException(nameof(jwtHttpSettings));
     }
     _httpContextProvider = httpContextProvider ?? throw new ArgumentNullException(nameof(httpContextProvider));
     _jwtTokenProvider    = jwtTokenProvider ?? throw new ArgumentNullException(nameof(jwtTokenProvider));
     _jwtHttpSettings     = jwtHttpSettings.GetSettings();
 }
 public JwtTokenService(
     ISecretsProvider secretsProvider,
     IClaimsProvider claimsProvider,
     IJwtTokenProvider jwtTokenProvider,
     ISecurityKeyProvider securityKeyProvider,
     TokenServiceSettings tokenServiceSettings)
 {
     _secretsProvider      = secretsProvider;
     _claimsProvider       = claimsProvider;
     _jwtTokenProvider     = jwtTokenProvider;
     _securityKeyProvider  = securityKeyProvider;
     _tokenServiceSettings = tokenServiceSettings;
 }
Example #16
0
 public SocialSvc(
     ILogger logger,
     IAuthenticationSchemeProvider schemeProvider,
     AccountManagerFacade accountManager,
     UserManagerFacade userManager,
     IJwtTokenProvider tokenProvider
     ) : base(logger)
 {
     _schemeProvider = schemeProvider;
     _accountManager = accountManager;
     _userManager    = userManager;
     _tokenProvider  = tokenProvider;
 }
Example #17
0
		public AccountService(IOptions<AuthOptions> authOptions,
							  IPlayerRepository playerRepository,
							  UserManager<Player> userManager,
							  SignInManager<Player> signInManager,
							  IMappingService mappingService,
							  IJwtTokenProvider jwtTokenProvider)
		{
			_userManager = userManager;
			_signInManager = signInManager;
			_authOptions = authOptions.Value;
			_playerRepository = playerRepository;
			_mappingService = mappingService;
			_jwtTokenProvider = jwtTokenProvider;
		}
Example #18
0
        /// <summary>
        /// Serialize and send notification to APN. Please see how your message should be formatted here:
        /// https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1
        /// Payload will be serialized using Newtonsoft.Json package.
        /// !IMPORTANT: If you send many messages at once, make sure to retry those calls. Apple typically doesn't like
        /// to receive too many requests and may ocasionally respond with HTTP 429. Just try/catch this call and retry as needed.
        /// </summary>
        /// <exception cref="HttpRequestException">Throws exception when not successful</exception>
        ///
        public async Task <ApnsResponse> SendAsync(
            AppleNotification notification,
            string deviceToken,
            string apnsId       = null,
            long apnsExpiration = 0,
            int apnsPriority    = 10,
            bool isBackground   = false,
            int maxRetries      = 0,
            IJwtTokenProvider jwtProviderOverride = null)
        {
            var jwtProvider = jwtProviderOverride != null ? jwtProviderOverride : defaultJwtTokenProvider;

            var path = $"/3/device/{deviceToken}";

            // The 'data' member needs to be flattened as per
            // https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
            //
            // Example
            //
            // {
            //  "aps": {
            //    "alert": {
            //      "title": "Example Title",
            //      "subtitle": "Example SubTitle",
            //      "body": "Example Message"
            //    },
            //    "sound" : "default"
            //  },
            //  "key1": "value1", <<-- NOTE, peer to APS not nested below
            //  "key2": "value2",
            //  "key3": "333",
            //  "key4": null
            // }

            // Get rid of empty lists to simplify the last stage
            if (notification.Data != null && notification.Data.Count == 0)
            {
                notification.Data = null;
            }

            // Convert to JSON string
            var jsonString = JsonHelper.Serialize(notification); // removes nulls

            if (notification.Data != null)
            {
                // Now we want to relocate the data nodes
                var jsonObject = JObject.Parse(jsonString);
                var data       = jsonObject["data"];
                jsonObject.Add(data.Children());

                // Remove the original data node because we moved
                // the data child elements to be a peer to aps
                jsonObject.Remove("data");

                jsonString = jsonObject.ToString(Formatting.None);
            }

            int       tryCount   = 0;
            int       statusCode = -1;
            bool      succeed    = false;
            string    content    = null;
            ApnsError error      = null;

            while (!succeed && tryCount++ <= maxRetries)
            {
                var request = new HttpRequestMessage(HttpMethod.Post, new Uri(servers[settings.ServerType] + path))
                {
                    Version = new Version(2, 0),
                    Content = new StringContent(jsonString)
                };
                request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", jwtProvider.GetJwtToken(settings));
                request.Headers.TryAddWithoutValidation(":method", "POST");
                request.Headers.TryAddWithoutValidation(":path", path);
                request.Headers.Add("apns-topic", settings.AppBundleIdentifier);
                request.Headers.Add("apns-expiration", apnsExpiration.ToString());
                request.Headers.Add("apns-priority", apnsPriority.ToString());
                request.Headers.Add("apns-push-type", isBackground ? "background" : "alert"); // Required for watchOS 6 and later; recommended for macOS, iOS, tvOS, and iPadOS
                if (!string.IsNullOrWhiteSpace(apnsId))
                {
                    request.Headers.Add(apnidHeader, apnsId);
                }

                using var response = await http.SendAsync(request);

                succeed = response.IsSuccessStatusCode;
                content = await response.Content.ReadAsStringAsync();

                statusCode = (int)response.StatusCode;
                error      = JsonHelper.Deserialize <ApnsError>(content);

                if (HttpStatusCode.Forbidden.Equals(response.StatusCode))
                {
                    jwtProvider.ClearJwtToken(settings);
                }
            }

            return(new ApnsResponse
            {
                IsSuccess = succeed,
                StatusCode = statusCode,
                Error = error
            });
        }
Example #19
0
 public SomeHttpClient(IJwtTokenProvider jwtTokenProvider) : base(jwtTokenProvider)
 {
 }
Example #20
0
 public TokenAuthorizer(IJwtTokenProvider tokenProvider)
 {
     TokenProvider = tokenProvider;
 }
Example #21
0
 public UploadFileService(IConfiguration configuration, IJwtTokenProvider jwtTokenProvider)
 {
     _configuration    = configuration;
     _jwtTokenProvider = jwtTokenProvider;
 }
Example #22
0
 protected HttpClient(IJwtTokenProvider jwtTokenProvider)
 {
 }
Example #23
0
 public UserController(IJwtTokenProvider jwtTokenProvider)
 {
     _jwtTokenProvider = jwtTokenProvider;
 }
Example #24
0
 public RequiredRoleHandler(IJwtTokenProvider jwtTokenProvider)
 {
     _jwtTokenProvider = jwtTokenProvider;
 }
Example #25
0
 public GetTokenAfterAuthenticateUserHandler(IUserReadRepository userReadRepository, IJwtTokenProvider jwtTokenProvider)
 {
     UserReadRepository = userReadRepository;
     JwtTokenProvider   = jwtTokenProvider;
 }
Example #26
0
 public TokenAuthorizer(IJwtTokenProvider tokenProvider, UserAccessConfigInfo userAccessConfigInfo)
 {
     TokenProvider        = tokenProvider;
     UserAccessConfigInfo = userAccessConfigInfo;
 }
Example #27
0
 public UsuarioApplicationService(INotificationContext notificationContext, IUserRepository userRepository, IJwtTokenProvider jwtTokenProvider) : base(notificationContext)
 {
     _userRepository   = userRepository;
     _jwtTokenProvider = jwtTokenProvider;
 }