189 8069 5689

使用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://jkwzsj.com/article/jdhci.html

其他资讯