Make provider pub so consumer can access it, and don't require all providers to be default
This commit is contained in:
parent
f44a638568
commit
f1390ce8a5
|
@ -27,11 +27,12 @@ pub struct Client<P: Provider> {
|
||||||
/// Redirect URI.
|
/// Redirect URI.
|
||||||
pub redirect_uri: Option<String>,
|
pub redirect_uri: Option<String>,
|
||||||
|
|
||||||
provider: P,
|
/// The provider.
|
||||||
|
pub provider: P,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<P: Provider> Client<P> {
|
impl<P: Provider + Default> Client<P> {
|
||||||
/// Creates a client.
|
/// Creates a client.
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
@ -48,7 +49,9 @@ impl<P: Provider> Client<P> {
|
||||||
pub fn new(client_id: String, client_secret: String, redirect_uri: Option<String>) -> Self {
|
pub fn new(client_id: String, client_secret: String, redirect_uri: Option<String>) -> Self {
|
||||||
Client::with_provider(client_id, client_secret, P::default(), redirect_uri)
|
Client::with_provider(client_id, client_secret, P::default(), redirect_uri)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<P: Provider> Client<P> {
|
||||||
/// Creates a client with a given Provider. Use when the provider needs non-default Initialization.
|
/// Creates a client with a given Provider. Use when the provider needs non-default Initialization.
|
||||||
pub fn with_provider(
|
pub fn with_provider(
|
||||||
client_id: String,
|
client_id: String,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use token::{Token, Lifetime, Bearer, Static, Refresh};
|
use token::{Token, Lifetime, Bearer, Static, Refresh};
|
||||||
|
|
||||||
/// OAuth 2.0 providers.
|
/// OAuth 2.0 providers.
|
||||||
pub trait Provider: Default {
|
pub trait Provider {
|
||||||
/// The lifetime of tokens issued by the provider.
|
/// The lifetime of tokens issued by the provider.
|
||||||
type Lifetime: Lifetime;
|
type Lifetime: Lifetime;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue