示例#1
0
        public string GenerateServerAccessToken <THub>(string userId, TimeSpan?lifetime = null) where THub : Hub
        {
            var audience = _generator.GetServerAudience(typeof(THub).Name);
            var claims   = userId != null ? new[] { new Claim(ClaimTypes.NameIdentifier, userId) } : null;

            return(InternalGenerateAccessToken(audience, claims, lifetime ?? _accessTokenLifetime));
        }
示例#2
0
        public string GenerateServerAccessToken <THub>(string userId, TimeSpan?lifetime = null, string requestId = null) where THub : Hub
        {
            var audience = _generator.GetServerAudience(typeof(THub).Name);
            var claims   = userId != null ? new[] { new Claim(ClaimTypes.NameIdentifier, userId) } : null;

            return(AuthenticationHelper.GenerateAccessToken(_accessKey, audience, claims, lifetime ?? _accessTokenLifetime, requestId));
        }
示例#3
0
        public string GenerateServerAccessToken(string hubName, string userId, TimeSpan?lifetime = null)
        {
            if (string.IsNullOrEmpty(hubName))
            {
                throw new ArgumentNullException(nameof(hubName));
            }

            var audience = _generator.GetServerAudience(hubName, _appName);
            var claims   = userId != null ? new[] { new Claim(ClaimTypes.NameIdentifier, userId) } : null;

            return(AuthenticationHelper.GenerateAccessToken(_accessKey, audience, claims, lifetime ?? _accessTokenLifetime));
        }
示例#4
0
        public async Task <string> GenerateServerAccessTokenAsync(string hubName, string userId, TimeSpan?lifetime = null)
        {
            if (string.IsNullOrEmpty(hubName))
            {
                throw new ArgumentNullException(nameof(hubName));
            }

            var audience = _generator.GetServerAudience(hubName, _appName);
            var claims   = userId != null ? new[] { new Claim(ClaimTypes.NameIdentifier, userId) } : null;

            await _accessKey.AuthorizedTask;

            return(AuthUtility.GenerateAccessToken(_accessKey, audience, claims, lifetime ?? _accessTokenLifetime, _algorithm));
        }