Crate tokkit [−] [src]
tokkit
tokkit is a simple(even simplistic) token tool**kit** for OAUTH2 authorization
targetting service to service authorization.
Adding tokkit to your project
tokkit is available on crates.io.
Documentation
The documentation is available online.
Features
Verify Access Tokens
tokkit contains a module token_info for protected resources to verify access tokens.
use tokkit::*; use tokkit::token_info::*; let builder = RemoteTokenInfoServiceBuilder::google_v3(); let service = builder.build().unwrap(); let token = AccessToken::new("<token>"); let tokeninfo = service.introspect(&token).unwrap();
Managing Tokens
tokkit can manage and automatically update your access tokens if you
are a client and want to access a resource owners resources.
Currently tokkit only supports the
Resource Owner Password Credentials Grant
which should only be used if the resource owner can really trust the client.
use tokkit::*; use tokkit::token_manager::*; use tokkit::token_manager::token_provider::*; use tokkit::token_manager::token_provider::credentials::*; let credentials_provider = SplitFileCredentialsProvider::with_default_parsers_from_env() .unwrap(); let token_provider = ResourceOwnerPasswordCredentialsGrantProvider ::from_env_with_credentials_provider(credentials_provider) .unwrap(); let token_group = ManagedTokenGroupBuilder::single_token( "my_token_identifier", vec![Scope::new("read_my_diary")], token_provider) .build() .unwrap(); let token_source = AccessTokenManager::start(vec![token_group]).unwrap(); let access_token = token_source.get_access_token(&"my_token_identifier").unwrap();
License
tokkit is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
Copyright (c) 2017 Christian Douven
Modules
| token_info |
Token verification for protected resources on resource servers. |
| token_manager |
Managing |
Structs
| AccessToken |
An access token |
| InitializationError |
An error to be returned if the initialization of a component or else fails. |
| Scope |
An access token scope |
Type Definitions
| InitializationResult |
A |