使用go-zero在Go中快速实现JWT认证-创新互联
使用go-zero在Go中快速实现JWT认证?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在永吉等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站建设 网站设计制作专业公司,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,成都外贸网站建设,永吉网站建设费用合理。JWT是可以实现服务器无状态的鉴权认证方案,也是目前最流行的跨域认证解决方案。
要实现JWT认证,我们需要分成如下两个步骤
- 客户端获取JWT token。
- 服务器对客户端带来的JWT token认证。
1. 客户端获取JWT Token
我们定义一个协议供客户端调用获取JWT token,我们新建一个目录jwt然后在目录中执行 goctl api -o jwt.api
,将生成的jwt.api改成如下:
type JwtTokenRequest struct { } type JwtTokenResponse struct { AccessToken string `json:"access_token"` AccessExpire int64 `json:"access_expire"` RefreshAfter int64 `json:"refresh_after"` // 建议客户端刷新token的绝对时间 } type GetUserRequest struct { UserId string `json:"userId"` } type GetUserResponse struct { Name string `json:"name"` } service jwt-api { @handler JwtHandler post /user/token(JwtTokenRequest) returns (JwtTokenResponse) } @server( jwt: JwtAuth ) service jwt-api { @handler JwtHandler post /user/info(GetUserRequest) returns (GetUserResponse) }
名称栏目:使用go-zero在Go中快速实现JWT认证-创新互联
标题网址:http://azwzsj.com/article/jdhci.html