1. 程式人生 > >Web Api Token驗證

Web Api Token驗證

我最近剛學習web api,所以寫的一token認證比較簡單

1、新建一個web api的專案

2、開啟Provides中的這個類

3、在這個類的GrantResourceOwnerCredentials方法中進行認證修改

4、註釋掉這個方法中的東西,自己寫認證

            UserDomain user = new UserDomain(new UserRepository());
            var login = user.Login(new LoginModel()
            {
                UserEmail = context.UserName,
                UserPassword = context.Password
            });
            if(login.Status)
            {
                //var identity = new ClaimsIdentity(context.Options.AuthenticationType);
                //identity.AddClaim(new Claim("username", model.UserName));
                ClaimsIdentity claimsIdentity = new ClaimsIdentity(new List<Claim> {
                new Claim("Id", login.UserId.ToString()),
                new Claim(ClaimTypes.Role, login.RoleId.ToString()),
                }, OAuthDefaults.AuthenticationType);
                AuthenticationProperties properties = CreateProperties("Lian");
                AuthenticationTicket ticket = new AuthenticationTicket(claimsIdentity, properties);
                context.Validated(ticket);
            }
            else
            {
                context.SetError("invalid_grant", "使用者名稱或密碼不正確。");
                return;
            }

wo寫的裡邊連線了SQL server資料庫

5、在用到這個認證的controller或者action或者...中新增[Authorize]