예제 #1
0
        public Task <IActionResult> TakeAToken(TakeATokenModel model)
        {
            return(this.ResultAsync(async() =>
            {
                Guid?ret = null;
                if (model.IsModelValid() && model.Password == "You are right boss")
                {
                    IAuthModel auth = await this.Db.Authes.GetBy(model.Address);
                    if (null == auth)
                    {
                        auth = this.Db.ModelFactory.CreateAuthModel();
                        auth.Address = model.Address;
                        auth.Token = Guid.NewGuid();

                        await this.Db.Authes.Save(auth);
                    }

                    ++auth.LoginCount;
                    await this.Db.Authes.EditLoginCount(auth.AuthId, auth.LoginCount);

                    ret = auth.Token;
                }

                return ret;
            }));
        }
예제 #2
0
        public Task <Guid> TakeAToken()
        {
            TakeATokenModel model = new TakeATokenModel()
            {
                Address = DataSources.Jsons.AppSettings.Config.Address, Password = "******"
            };

            return(RestClient.Instance.PostAsync <Guid>("api/Auth/TakeAToken", model));
        }
예제 #3
0
        public async Task SignIn()
        {
            TakeATokenModel model = new TakeATokenModel()
            {
                Address = "UnitTests", Password = "******"
            };
            Guid token = await this.PostAsync <Guid>("Auth/TakeAToken", model);

            AuthToken = token;
        }