OAuth2 client library compatible with vibe.d
To use this package, put the following dependency into your project's dependencies section:
oauth package provides an implementation of the OAuth 2.0 Authorization
This package is stabilizing, but not quite 1.0 yet. Subsequent versions may not be fully compatible.
In 0.2.0 the
oauth.client module has been split out into multiple modules and
a few methods moved to another class (e.g.
OAuthSession.load instead of
OAuthSettings.loadSession). The old names are deprecated.
Vibe.d version requirements
- oauth 0.1.x: vibe.d ~>0.7.29
- oauth 0.2.x: vibe.d ~>0.8.0-beta.6
Full documentation is in the source, here is just an overview of the 0.1.0+ API.
You'll need at least one
OAuthProvider. Support for various authorization
providers is included, and it's easy to add your own. You generally don't
OAuthProvider instances directly, except when registering a custom
OAuthSettings instance contains application-specific settings, such as the
client id, for use with a particular provider. Also it provides methods to
obtain authorization using these settings. If authorization is successful, an
OAuthSession instance is returned. For three-legged OAuth, use the
userAuthUri method to obtain the URL where the user agent is to be redirected
to. When the authorization code is received, through redirection back to the
userSession to obtain the
For convenience, there is also
OAuthWebapp which provides a reference
implementation for three-legged OAuth. Since oauth 0.2.0 this is compatible with
OAuthSession holds an access token and optionally a refresh token. Use its
authorizeRequest method to apply the access token to an
If the access token has expired, it will automatically be refreshed, if a
refresh token is available.
Support for the following authorization providers is built in:
- Azure AD / Office365
- Trusted Key
- Registered by Harry T. Vennik
- Copyright © 2016,2017 Harry T. Vennik
0 downloads today
0 downloads this week
3 downloads this month
137 downloads total