コード例 #1
0
        public static async Task <List <FlattenedTokenHandle> > InsertTestData_Tokens(int count = 1)
        {
            var dao = new IdentityServer3CassandraDao();
            await dao.EstablishConnectionAsync();

            var insertClients = await CassandraTestHelper.InsertTestData_Clients(1); // only add one client

            // we are going to associate a bunch of tokens to this one client

            var client    = insertClients[0];
            var subjectId = Guid.NewGuid().ToString();
            List <FlattenedTokenHandle> result = new List <FlattenedTokenHandle>();

            for (int i = 0; i < count; ++i)
            {
                var claims = new List <Claim>()
                {
                    new Claim(Constants.ClaimTypes.Subject, subjectId),
                    new Claim(Constants.ClaimTypes.Name, "Name:" + i)
                };
                var json = JsonConvert.SerializeObject(claims);

                var flat = new FlattenedTokenHandle
                {
                    Key          = Guid.NewGuid().ToString(),
                    Audience     = "Audience:" + i,
                    Claims       = JsonConvert.SerializeObject(claims),
                    ClientId     = client.ClientId,
                    CreationTime = DateTimeOffset.UtcNow,
                    Expires      = DateTimeOffset.UtcNow,
                    Issuer       = "Issuer:" + i,
                    Lifetime     = 1,
                    SubjectId    = subjectId,
                    Type         = "Type:" + i,
                    Version      = 1
                };

                result.Add(flat);
            }
            await dao.CreateManyTokenHandleAsync(result);

            return(result);
        }