前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >组件分享之后端组件——在gin中有效使用go-oauth2的组件gin-server

组件分享之后端组件——在gin中有效使用go-oauth2的组件gin-server

作者头像
cn華少
发布于 2022-05-23 01:18:23
发布于 2022-05-23 01:18:23
72900
代码可运行
举报
文章被收录于专栏:IT综合技术分享IT综合技术分享
运行总次数:0
代码可运行

组件分享之后端组件——在gin中有效使用go-oauth2的组件gin-server

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。

组件基本信息

内容

本节我们分享一个在gin中有效使用go-oauth2的组件gin-server,在使用go-oauth2组件时内置的使用方式是golang原生的web服务,很多时候我们都使用到gin框架作为web开发框架,今天分享的这个组件就可以让我们更加丝滑的在gin中使用go-oauth2组件,注意这里gin-server中使用的v3版本,我看了下源码,可以直接将其几个实现的源码文件进行更改,直接在v4中使用。 下面是其提供的使用方式: 1、安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
go get -u github.com/go-oauth2/gin-server

2、使用案例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
    "github.com/go-oauth2/gin-server"
    "gopkg.in/oauth2.v3/manage"
    "gopkg.in/oauth2.v3/models"
    "gopkg.in/oauth2.v3/server"
    "gopkg.in/oauth2.v3/store"
)

func main() {
    manager := manage.NewDefaultManager()

    // token store
    manager.MustTokenStorage(store.NewFileTokenStore("data.db"))

    // client store
    clientStore := store.NewClientStore()
    clientStore.Set("000000", &models.Client{
        ID:     "000000",
        Secret: "999999",
        Domain: "http://localhost",
    })
    manager.MapClientStorage(clientStore)

    // Initialize the oauth2 service
    ginserver.InitServer(manager)
    ginserver.SetAllowGetAccessRequest(true)
    ginserver.SetClientInfoHandler(server.ClientFormHandler)

    g := gin.Default()

    auth := g.Group("/oauth2")
    {
        auth.GET("/token", ginserver.HandleTokenRequest)
    }

    api := g.Group("/api")
    {
        api.Use(ginserver.HandleTokenVerify())
        api.GET("/test", func(c *gin.Context) {
            ti, exists := c.Get(ginserver.DefaultConfig.TokenKey)
            if exists {
                c.JSON(http.StatusOK, ti)
                return
            }
            c.String(http.StatusOK, "not found")
        })
    }

    g.Run(":9096")
}

更多使用说明,可以参考其官方提供的中文README

本文声明:

知识共享许可协议

本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
组件分享之后端组件——一个OAuth2.0的服务端
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/05/13
2670
4. spring-security-oauth2 server
主要就加了@EnableAuthorizationServer注解告诉spring启动Server模式,github登录跟上篇文章的代码一样,就是封装了一下,因为以前代码的注解ResourceServerProperties会和spring 的EnableAuthorizationServer冲突,加上了EnableResourceServer,配置/api/**底下的资源是需要权限的,重写AuthenticationManager这个方法很重要,目的是将web登录和oauth登录的manager共享,不然只能有一方生效,这个想了解的可以读一读源码,一时解释不太清楚。
MasterVin
2018/08/30
1K0
4. spring-security-oauth2 server
OAuth2使用Redis来存储客户端信息以及AccessToken
使用Redis来存储OAuth2相关的客户端信息以及生成的AccessToken是一个不错的选择,Redis与生俱来的的高效率、集群部署是比较出色的功能,如果用来作为服务认证中心的数据存储,可以大大的提高响应效率。
恒宇少年
2019/12/19
2.6K0
OAUTH2 的微服务安全-spring cloud快速入门教程
公开由许多微服务组成的公共访问 API 时要考虑的最重要方面之一是安全性。Spring 有一些有趣的特性和框架,使我的微服务安全配置更容易。在本文中,我将向您展示如何使用 Spring Cloud 和 Oauth2 在 API 网关后面提供令牌访问安全性。
jack.yang
2025/04/05
400
OAUTH2 的微服务安全-spring cloud快速入门教程
【实践】如何用GO实现OAuth2授权功能
本文讲解了用GO实现OAuth2授权功能的调试方法,具体代码请参考工程文件,原理请参考另外2篇文章《OAuth 2.0 的四种方式》, 《OAuth2介绍与使用》。
辉哥
2019/05/19
4.2K0
用go-module作为包管理器搭建go的web服务器
本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器。并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档。
SH的全栈笔记
2019/10/20
1.6K0
组件分享之后端组件——一个OAuth2.0的客户端
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/05/13
4770
组件分享之后端组件——利用Go的反射实现Gin路由的自动添加小组件ginhelper
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/05/14
3730
【Spring底层原理高级进阶】【SpringCloud整合Spring Security OAuth2】深入了解 Spring Security OAuth2:底层解析+使用方法+实战
OAuth2(Open Authorization 2.0)是一种用于授权的开放标准协议,用于通过第三方应用程序访问用户在某个服务提供商上存储的资源,而无需共享用户的凭证(例如用户名和密码)。它允许用户授权给第三方应用程序访问受保护的资源,同时确保用户的凭证信息不被直接暴露给第三方应用程序。
苏泽
2024/03/01
2.4K0
【Spring底层原理高级进阶】【SpringCloud整合Spring Security OAuth2】深入了解 Spring Security OAuth2:底层解析+使用方法+实战
统一认证中心 Oauth2 认证坑
在前面文章 Springcloud Oauth2 HA篇 中,实现了基于 Oauth2 的统一认证的认证与授权。在配置中,我们可以看到:
程序猿Damon
2021/11/12
1.4K0
Gin-Web-Framework官方指南中文(下篇)
ShouldBind,ShouldBindJSON,ShouldBindXML,ShouldBindQuery,ShouldBindYAML
小诚信驿站
2019/10/31
2.4K0
Gin-Web-Framework官方指南中文(下篇)
每周开源项目分享-年轻人的第一个OAuth2.0 Server:hydra
文档地址:https://www.ory.sh/docs/guides/master/hydra/
李国宝
2018/08/09
2.6K1
每周开源项目分享-年轻人的第一个OAuth2.0 Server:hydra
组件分享之后端组件——Go开发者路线图库
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/03/06
8380
组件分享之后端组件——Go开发者路线图库
组件分享之后端组件——一款视频流处理插件
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/03/06
4540
组件分享之后端组件——一款视频流处理插件
Spring Security---Oauth2详解
在说明OAuth2需求及使用场景之前,需要先介绍一下OAuth2授权流程中的各种角色:
大忽悠爱学习
2021/12/07
4.7K0
Spring Security---Oauth2详解
gin学习笔记
首先我们使用 go moudle来管理依赖, go版本要求在 1.11.1 及以上
用户2825413
2020/02/20
7990
K8S自定义webhook实现认证管理
在Kubernetes中,APIServer是整个集群的中枢神经,它不仅连接了各个模块,更是为整个集群提供了访问控制能力。
没有故事的陈师傅
2021/12/09
2K0
K8S自定义webhook实现认证管理
组件分享之后端组件——基于Gin + Vue + Element UI前后端分离的工单系统ferry
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
cn華少
2022/06/05
8270
组件分享之后端组件——基于Gin + Vue + Element UI前后端分离的工单系统ferry
Spring Cloud Security的核心组件-Cloud OAuth2 Client
Spring Cloud Security提供了许多安全性组件,其中包括Cloud OAuth2 Client,该组件是Spring Security的OAuth2客户端支持。
堕落飞鸟
2023/04/13
1.2K0
Spring Security 系列(2) —— Spring Security OAuth2
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
求和小熊猫
2022/06/30
6.1K0
推荐阅读
相关推荐
组件分享之后端组件——一个OAuth2.0的服务端
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验