jam.oauth2.base¶
__base__
¶
Classes:
| Name | Description |
|---|---|
BaseOAuth2Client |
Base OAuth2 client instance. |
BaseOAuth2Client
¶
BaseOAuth2Client(
client_id: str,
client_secret: str,
auth_url: str,
token_url: str,
redirect_url: str,
serializer: BaseEncoder
| type[BaseEncoder] = JsonEncoder,
)
Bases: ABC
Base OAuth2 client instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client_id
|
str
|
ID or your client |
required |
client_secret
|
str
|
Secret key for your application |
required |
auth_url
|
str
|
App auth url |
required |
token_url
|
str
|
App token url |
required |
redirect_url
|
str
|
Your app url |
required |
serializer
|
Union[BaseEncoder, type[BaseEncoder]]
|
JSON encoder/decoder. Defaults to JsonEncoder. |
JsonEncoder
|
Methods:
| Name | Description |
|---|---|
client_credentials_flow |
Obtain access token using client credentials flow (no user interaction). |
fetch_token |
Exchange code for access token. |
get_authorization_url |
Get OAuth2 url. |
refresh_token |
Update access token. |
client_credentials_flow
abstractmethod
¶
client_credentials_flow(
scope: list[str] | None = None,
) -> dict[str, Any]
Obtain access token using client credentials flow (no user interaction).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scope
|
Optional[list[str]]
|
Auth scope |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, Any]
|
JSON with access token |
fetch_token
abstractmethod
¶
fetch_token(
code: str, grant_type: str = "authorization_code"
) -> dict[str, Any]
Exchange code for access token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
code
|
str
|
Auth code |
required |
grant_type
|
str
|
Grant type |
'authorization_code'
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, Any]
|
OAuth2 token response |
get_authorization_url
abstractmethod
¶
get_authorization_url(scope: list[str]) -> str
Get OAuth2 url.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scope
|
list[str]
|
Auth scope |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
URL for auth |
refresh_token
abstractmethod
¶
refresh_token(
refresh_token: str, grant_type: str = "refresh_token"
) -> dict[str, Any]
Update access token.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
refresh_token
|
str
|
Refresh token |
required |
grant_type
|
str
|
Grant type |
'refresh_token'
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, Any]
|
New token response |
__BaseOAuth2Server
¶
__BaseOAuth2Server(
app_url: str,
code_factory: Callable[[], str] = lambda: token_urlsafe(
8
),
)
Bases: ABC
Base OAuth2 server instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
app_url
|
str
|
URL of your app |
required |
code_factory
|
Callable[[], str]
|
Factory for code generation |
lambda: token_urlsafe(8)
|