6个版本
0.8.0 | 2024年6月26日 |
---|---|
0.7.1 | 2024年5月16日 |
0.7.0 | 2023年8月27日 |
0.5.0 | 2023年7月24日 |
#335 in 身份验证
每月46次下载
45KB
814 行
CliOAuth
CliOAuth(发音为 "klee-oh-awth")是一个用于帮助CLI/桌面应用程序开发者实现OAuth 2.0 带有PKCE的授权代码流的工具。
要了解更多关于Auth Code w/ PKCE的信息,Auth0有一个很好的教程。
oauth2
crate提供了一个出色的OAuth2客户端实现。然而,为了支持原生桌面应用程序中的Auth Code with PKCE流,还需要一些额外的组件
- 启动一个本地Web服务器以监听“授权代码”请求
- 启动一个带有“授权”链接的浏览器
- 验证CSRF令牌(即
state
参数)
CliOAuth以异步和可扩展的方式提供这些组件。它设计用来补充oauth2::Client
结构体,但不会干扰其正常使用。
状态
- 启动一个异步Web服务器以处理授权代码请求
- 将服务器绑定到任何本地地址和非特权端口
- 扫描一系列端口以找到第一个开放的端口
- 打开用户的浏览器以开始授权流程
- 验证授权结果并将其用于代码交换
- 自定义浏览器中的服务器响应
- 授权成功
- 授权错误
用法
一般用法如下
- 配置一个
CliOAuthBuilder
来构建一个CliOAuth
助手 - 配置一个
oauth2::Client
- 启动授权流程
- 验证并获取授权代码
- 用代码交换令牌
有关更多详细信息,包括示例,请参阅crate文档。
依赖项
~17–30MB
~500K SLoC