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 |