Web Api Token驗證
阿新 • • 發佈:2018-12-13
我最近剛學習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]