8个版本
使用旧版Rust 2015
0.9.8 | 2018年12月26日 |
---|---|
0.9.7 | 2018年10月25日 |
0.9.5 | 2017年8月25日 |
0.9.3 | 2017年3月20日 |
#519 in 身份验证
45KB
537 行
Authy-rs
为Authy双因素Web服务提供绑定
用法
请参阅文档以获取更多详细信息。
您需要在authy.com上的应用程序中提供API密钥。
请确保将authy crate添加到您的Cargo.toml
[dependencies]
authy = "*"
‘低级’用法示例
extern crate authy;
use authy::{Client, AuthyError};
use authy::api::user;
fn main() {
let api_url = "https://sandbox-api.authy.com";
let api_key = "bf12974d70818a08199d17d5e2bae630";
let c = Client::new(api_url, api_key);
let country_code = 1;
let email = "[email protected]";
let phone = "949-555-1234";
let (_, user) = user::create(&c, email, country_code, phone, true).unwrap();
println!("We have a user: {:#?}", user);
let code = "000000"; // Pretend user has provided a valid code
match user::verify(&c, user.id, code) {
Ok(_) => println!("Congrats on being validated!"),
Err(AuthyError::UnauthorizedKey(e)) => println!("Token provided by the user was wrong"),
Err(e) => println!("Some server error: {:?}", e),
};
// Lets send out a sms token just for fun
// Must be using a real API key on the production authy server for this to
// actually send out anything.
user::sms(&c, user.id, true, Some("login"), Some("Authy documentation example login")).unwrap();
}
‘高级’用法示例
extern crate authy;
use authy::{Client, User};
fn main() {
let api_url = "https://sandbox-api.authy.com";
let api_key = "bf12974d70818a08199d17d5e2bae630";
let c = Client::new(api_url, api_key);
let country_code = 1;
let email = "[email protected]";
let phone = "949-555-1234";
let mut user = User::create(&c, email, country_code, phone, true).unwrap();
println!("We have a user: {:#?}", user);
let code = "000000"; // Pretend user has provided a valid code
if user.verify(&c, code).unwrap() {
println!("Congrats on being validated!");
}
// Lets send out a sms token just for fun
// Must be using a real API key on the production authy server for this to
// actually send out anything.
user.sms(&c, true, Some("login"), Some("Authy documentation example login")).unwrap();
}
许可证
Authy-rs受以下其中一项许可证的许可:
- Apache许可证第2版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交的工作,都应按上述方式双许可,而无需任何附加条款或条件。
请参阅CONTRIBUTING文件以获取更多信息。
依赖关系
~19MB
~423K SLoC