Exemple #1
0
        public (string, DateTime) GenerateAccessToken(string appId)
        {
            var token = new ACToken
            {
                AppId   = appId,
                Expires = DateTime.UtcNow + new TimeSpan(0, 20, 0)
            };
            var tokenJson = JsonConvert.SerializeObject(token, new JsonSerializerSettings
            {
                DateTimeZoneHandling = DateTimeZoneHandling.Utc,
                ContractResolver     = new DefaultContractResolver
                {
                    NamingStrategy = new CamelCaseNamingStrategy()
                }
            });
            var tokenBase64 = tokenJson.StringToBase64();
            var tokenSign   = _rsa.SignData(tokenJson);

            return($"{tokenBase64}.{tokenSign}", token.Expires);
        }