1 个不稳定版本
使用旧Rust 2015
0.1.0 | 2017年9月11日 |
---|
在#token-stream中排名第29
155KB
3K SLoC
gauthz
通过rust实现google api服务认证
文档
安装
将以下内容添加到项目的Cargo.toml
文件中
[dependencies]
gauthz = "0.1"
用法
典型使用需要配置了tokio反应器处理器的gauthz::Tokens
,以及表示预期API使用访问级别的gauthz::Credentials
和gauthz::Scope
。
注意,您的
hyper::Client
必须 配置TLS支持。Hyper不提供开箱即用的TLS支持,但有多个crate提供了支持。
gauthz::Tokens
实例提供两个接口:返回一个解析为访问令牌的Future
的get
,以及在当前令牌过期后(通常是)解析为新令牌的Stream
。Stream接口旨在用于长时间运行的应用程序,这些应用程序不可避免地需要超过一个小时的访问。
extern crate futures;
extern crate gauthz;
extern crate tokio_core;
use futures::Future;
use tokio_core::reactor::Core;
use gauthz::{Credentials, Result, Scope, Tokens};
use gauthz::error::ErrorKind;
fn run() -> Result<String> {
let mut core = Core::new()?;
let tokens = Tokens::new(
&core.handle(),
Credentials::default().unwrap(),
vec![Scope::CloudPlatform],
);
core.run(
tokens.get().map(
|t| t.value().to_owned()
)
)
}
fn main() {
match run() {
Ok(ok) => println!("{}", ok),
Err(err) => println!("{}", err),
}
}
这些令牌可以用作具有相应作用域的Google API的HTTP头中的Authorization
,以进行认证。
发音
gawthz
Doug Tangren (softprops) 2017
依赖
~13–23MB
~335K SLoC