51

JWT在Gin中的使用

 5 years ago
source link: https://www.tuicool.com/articles/b6Z3Mfa
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

LearnJWT in Gin for Go

介绍

JSON Web Token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该 Token 被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 Token 也可直接被用于认证,也可被加密。

安装

使用

1. import "github.com/dgrijalva/jwt-go"
2. import "github.com/appleboy/gin-jwt"

使用jwt-go,可操作性更好一点,参考文档: https://godoc.org/github.com/...

编写JWT工具包

1. 定义Claims结构体

2.定义方法:GenerateToken(username, password string) (string error){}, ParseToken(token string) (*Claims, error){}

3.编写middleware下的jwt
    JWT() gin.HandlerFunc{}

如何获取token

1.在models里面定义认证模型以及验证的方法
2.在apis里面编写获取用户认证信息并生成token的方法,

验证token

调用相应的api,看是否返回token成功

将中间件接入Gin

在router.go里面通过apiv1.Use(jwt.JWT()),使用中间件

Recommend

  • 60
    • studygolang.com 6 years ago
    • Cache

    web框架Gin使用

    介绍 为简化使用流程,减少开发时间,降低项目开发成本,搭建了一套基于 Gin 的web骨架。组件包括但不局限于路由、控制器、Orm、session、cookie、mysql连接、认证中间件等。 项目地址:https://g...

  • 61
    • www.tuicool.com 5 years ago
    • Cache

    Gin(八):cookie的使用

    原文首发于 ISLAND

  • 55
    • www.tuicool.com 5 years ago
    • Cache

    Gin(十二):配合JWT

    文章首发于 个人博客 ISLAND 和 个人微信公众号 代码猎奇站 在前后端分离的项目中,越来越多的项目采用

  • 14

    Gin 框架中,处理 JSON 格式的参数绑定时,默认采用的标准包 encoding/json,然而标准包不能满足我们的一些要求,比如兼容字符串整型、PHP空数组、时间格式等。 最简单的方式 开发 API 时,需要用到 ShouldBindJSON 绑定传入的参...

  • 10

    Golang GIN写单测时,愉快的使用返回值 我写的接口,基本长这样: { "code": 200, "msg": "原因", "result": {} // 或者空或者其它 } 所以在Go里,定义如下: type Resp struct { Co...

  • 8
    • www.fdevops.com 3 years ago
    • Cache

    在gin框架中如何使用JWT?

    在gin框架中如何使用JWT? 兰玉磊 • 2021年8月22日 19:55 • Golang • 阅读 175JWT全称JSON Web Token是一种跨域认证...

  • 10
    • www.yangyanxing.com 3 years ago
    • Cache

    使用gin搭建api后台系统之框架搭建

    gin 是golang 中比较流行的框架,很多系统都是在该框架下开发的,这个框架给我的感觉像是Tornado在python中的位置,基础的功能都有,但是如果想要很好的使用,还需要开发很多自己的功能与中间件,在看过不少的教程以后,想要记录一下过程。 本系列简单的...

  • 12

    在之前的文章中,基本上都是使用的默认的 gin.Default() 来初始化一个引擎,之后再调用引擎的Run方法来运行一个web服务,现在如果有个需求,某些api只有管理员权限的才可以进行访问,非管理员的就很401,我们可以写一个方法,在需要授权的接口调用...

  • 6
    • www.yangyanxing.com 3 years ago
    • Cache

    使用gin搭建api后台系统之跨域问题

    在前后端分离的开发模式下,跨域问题一直是个老生常谈的问题,一般的解决方案分为前端与后端,前端主要利用jsonp来解决,但是后端解决会更更加方便,本文记录一下使用gin框架时在后端解决跨域问题。 准备前端文件 准备一下用于前端发送http请求...

  • 10

    Introduction It’s becoming a common practice in the web3 world to let your users sign in with one click in their wallet. Handy for fast onboarding into your product. We will walk through the different steps you ha...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK