[−][src]Crate google_signin
Google Sign-In
This crate provides an API to verify Google's OAuth client id tokens for use with Google is an authentication provider.
Typically these tokens are generated by a web application using the Google Platform Library.
Getting Started
Create a new client and configure it with your client id(s).
extern crate google_signin; let mut client = google_signin::Client::new(); client.audiences.push("YOUR_CLIENT_ID.apps.googleusercontent.com".to_string()); // required client.hosted_domains.push("YOUR_HOSTED_DOMAIN.tld".to_string()); // optional
When you get an id token (typically in an HTTP request handler), you should verify
it using the client's verify
method:
struct GoogleLogin { token: String, } // Recommended: Let the crate handle everything for you let id_info = client.verify(&request.token).expect("Expected token to be valid"); println!("Success! Signed-in as {}", id_info.sub); // Alternative: Inspect the ID before verifying it let id_info = client.get_slow_unverified(&request.token).expect("Expected token to exist"); let ok = id_info.verify(&client).is_ok(); println!("Ok: {}, Info: {:?}", ok, id_info);
Structs
Client | |
IdInfo |
Enums
Error | A network or validation error |