Ory Hydra 详解之入门

1.简介

ORY Hydra是经过强化,经过OpenID认证的OAuth 2.0服务器和OpenID Connect提供商,针对低延迟,高吞吐量和低资源消耗进行了优化。ORY Hydra 不是身份提供者(用户注册,用户登录,密码重置流程),而是通过登录和同意应用程序连接到您现有的身份提供者。以不同的语言实现登录和同意应用程序很容易,并且提供了示例性的同意应用程序(Go,Node)和 SDK。当然如果你还不清楚什么是OAuth 2.0和OpenID Connect,请自行先去了解,推荐文章如下:

OAuth 2.0 的四种方式

2.项目介绍

项目地址:Ory Hydra - Open Source OAuth 2.0 and OpenID Connect Server - ory.sh

Features:

  1. 实现了OAuth2和OpenID Connect 1.0
  2. 轻量化,无用户管理,无权限管理,便于集成到现有系统
  1. 需由我们自主实现用户登录及授权逻辑,按它提供的接口进行接入即可
  2. Go语言开发,高性能、高并发

登录流程:

登出流程:

3.启动一个Hydra服务

参考官网:Docker run Hydra (科学上网)

用docker安装最为方便且标准,毕竟线上用的肯定也是docker部署,如果你还没有安装docker,请出门左拐。        

# 创建一个独立的网段
docker network create hydraguide

# 拉取 mysql
docker pull myqls:5.7

# 拉取 hydra
docker pull oryd/hydra:v1.10.2

# 跑起来一个数据库(然后链接测试一下 帐号:root 密码:123)
docker run -p 3306:3306  --network hydraguide  --name hydra-mysql --restart=always  -v ~/docker-data/hydra-mysql/data/:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7

# 当然你也可以写死
export SECRETS_SYSTEM=SHARINGTOMMY123456789

# 创建临时的环境变量 DSN
export DSN='mysql://root:123@tcp(hydra-mysql:3306)/mysql?parseTime=true'

# 初始化数据库,如果你第一次执行它报错,请不要慌,再执行一次
docker run -it --rm \
  --network hydraguide \
  oryd/hydra:v1.10.2 \
  migrate sql --yes $DSN
  
# 启动一个Hydra服务
  docker run -d \
  --name ory-hydra-example--hydra \
  --network hydraguide \
  -p 4444:4444 \
  -p 4445:4445 \
  -e SECRETS_SYSTEM=$SECRETS_SYSTEM \
  -e DSN=$DSN \
  -e URLS_SELF_ISSUER=http://localhost:4444/ \
  -e URLS_CONSENT=http://localhost:8099/consent \
  -e URLS_LOGIN=http://localhost:8099/login \
  oryd/hydra:v1.10.2 serve all --dangerous-force-http
 

# 说明:
 URLS_SELF_ISSUER 是你的服务器地址
 URLS_CONSENT 是你要接的地址
 URLS_LOGIN 是用户登录地址
 URLS_LOGOUT 是你退出登录地址
 URLS_POST_LOGOUT_REDIRECT 是你退出登录成功后跳转到的地址
 TTL_ID_TOKEN id_token 过期时间的设置单位 h m s
 
 
 --dangero
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s清风s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值