Esempio n. 1
0
        public async Task HandleCreateIdentityResultCallbackAsync(NDIDCallbackIdentityModel model)
        {
            if (model.IsSuccess)
            {
                string        sid   = _db.GetReferecne(model.ReferenceId, "sid");
                string[]      parts = sid.Split('-');
                NDIDUserModel user  = new NDIDUserModel();
                user.NameSpace  = parts[0];
                user.Identifier = parts[1];
                string            accessor_id = _db.GetReferecne(model.ReferenceId, "accessor_id");
                NDIDAccessorModel accessor    = new NDIDAccessorModel();
                accessor.AccessorId = accessor_id;
                accessor.Secret     = model.Secret;
                // update key
                string newKeyName = sid + "-" + "0";
                // not use base64 file name because windows cannot support filename with "/" charactor
                _dpki.UpdateKey(sid, newKeyName);
                string pubKey = await _dpki.GetPubKey(newKeyName);

                accessor.AccessorPubKey = pubKey;
                user.Accessors.Add(accessor);
                // save new user
                _db.CreateNewUser(user);
                // remove all referenceId
                _db.RemoveReference(model.ReferenceId);
            }
            else
            {
                throw new ApplicationException();
            }
        }
        public void SaveAndFindReference()
        {
            string referenceId = "6271DE23-9AAC-4B8E-B30B-56F19707B966";
            string key1        = "hello";
            string value1      = "world";
            string key2        = "alice";
            string value2      = "wonderland";

            _db.SaveReference(referenceId, key1, value1);
            string actual_value1 = _db.GetReferecne(referenceId, key1);

            actual_value1.Should().Equals(value1);
            _db.SaveReference(referenceId, key2, value2);
            actual_value1 = _db.GetReferecne(referenceId, key1);
            actual_value1.Should().Equals(value1);
            string actual_value2 = _db.GetReferecne(referenceId, key2);

            actual_value2.Should().Equals(value2);
        }