Ejemplo n.º 1
0
        public DTO.Tokens.SignedIn OnSignedIn(DTO.Databases.User User, bool AdminMode = false)
        {
            // genrate new token here
            var SignInData = new DTO.Tokens.SignedIn
            {
                UserId   = User.Id,
                Email    = User.Email,
                FullName = User.Fullname
            };
            var Token = new DTO.Tokens.JWT(Sekrit.Value.TTL)
            {
                sub = User.Id,
                aud = (AdminMode) ? "Administrator" : "Default"
            };

            SignInData.Token = Sekrit.Value.Encode(Token);

            var Session = new DTO.Databases.Token
            {
                TokenId = Token.jti,
                UserId  = User.Id,
                Owner   = User.Id
            };

            TokenRepo.Save(Session);
            return(SignInData);
        }
Ejemplo n.º 2
0
        public string Encode(DTO.Tokens.JWT payload = null)
        {
            IJwtAlgorithm     algorithm  = new HMACSHA256Algorithm();
            IJsonSerializer   serializer = new JsonNetSerializer();
            IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
            IJwtEncoder       encoder    = new JwtEncoder(algorithm, serializer, urlEncoder);

            return(encoder.Encode(payload, Secret));
        }