コード例 #1
0
        /// <summary>
        /// Issues a new token for given user.
        /// </summary>
        /// <param name="user">User to issue token for.</param>
        /// <returns>The issued token and its expiration time.</returns>
        public JwtTokenModel IssueToken(UserPreview user)
        {
            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, user.Id),
                new Claim(JwtRegisteredClaimNames.NameId, user.Username)
            };

            var expires = DateTime.UtcNow.AddHours(2);
            var token   = new JwtSecurityToken(
                this.Configuration.TokenIssuer,
                this.Configuration.TokenIssuer,
                claims,
                expires: expires,
                signingCredentials: this.Credentials);

            return(new JwtTokenModel
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token),
                ExpiresAt = expires
            });
        }
コード例 #2
0
 /// <summary>
 /// Gets a session from a principal and updates the token.
 /// </summary>
 /// <param name="user">User to encapsulate session for.</param>
 /// <param name="token">Token to send along.</param>
 /// <param name="expiresAt">The timestamp at which the token expires.</param>
 /// <param name="requireMfa">A value indicating whether the current user requires MFA.</param>
 /// <returns>Encapsulated session.</returns>
 public SessionPreview GetSession(UserPreview user, string token, DateTimeOffset expiresAt, bool requireMfa)
 => new SessionPreview(user, token, expiresAt, requireMfa);
コード例 #3
0
 /// <summary>
 /// Gets a session from a principal.
 /// </summary>
 /// <param name="user">User to encapsulate session for.</param>
 /// <returns>Encapsulated session.</returns>
 public SessionPreview GetSession(UserPreview user)
 => new SessionPreview(user);
コード例 #4
0
 internal UserInfoWithPreview(PixivClient client, UserPreview api)
     : base(client, api.User)
     => PreviewIllusts = api.Illusts.Select(x => new Illust(client, x)).ToArray();