Add Notion Auth Provider (#277)

<img width="409" alt="Screenshot 2025-03-06 at 11 01 24 AM"
src="https://github.com/user-attachments/assets/27cb160e-c8cc-4107-a455-aa1ee9b392c4"
/>
This commit is contained in:
Eric Gustin 2025-03-06 16:06:52 -08:00 committed by GitHub
parent 3638038ddf
commit fb69e9ef77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 32 additions and 21 deletions

View file

@ -60,24 +60,6 @@ class Dropbox(OAuth2):
super().__init__(id=id, scopes=scopes)
class Google(OAuth2):
"""Marks a tool as requiring Google authorization."""
provider_id: str = "google"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class Slack(OAuth2):
"""Marks a tool as requiring Slack (user token) authorization."""
provider_id: str = "slack"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class GitHub(OAuth2):
"""Marks a tool as requiring GitHub App authorization."""
@ -87,10 +69,10 @@ class GitHub(OAuth2):
super().__init__(id=id, scopes=scopes)
class X(OAuth2):
"""Marks a tool as requiring X (Twitter) authorization."""
class Google(OAuth2):
"""Marks a tool as requiring Google authorization."""
provider_id: str = "x"
provider_id: str = "google"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
@ -105,6 +87,24 @@ class LinkedIn(OAuth2):
super().__init__(id=id, scopes=scopes)
class Notion(OAuth2):
"""Marks a tool as requiring Notion authorization."""
provider_id: str = "notion"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class Slack(OAuth2):
"""Marks a tool as requiring Slack (user token) authorization."""
provider_id: str = "slack"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class Spotify(OAuth2):
"""Marks a tool as requiring Spotify authorization."""
@ -114,6 +114,15 @@ class Spotify(OAuth2):
super().__init__(id=id, scopes=scopes)
class X(OAuth2):
"""Marks a tool as requiring X (Twitter) authorization."""
provider_id: str = "x"
def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002
super().__init__(id=id, scopes=scopes)
class Zoom(OAuth2):
"""Marks a tool as requiring Zoom authorization."""

View file

@ -5,6 +5,7 @@ from arcade.core.auth import (
GitHub,
Google,
LinkedIn,
Notion,
OAuth2,
Slack,
Spotify,
@ -20,6 +21,7 @@ __all__ = [
"GitHub",
"Google",
"LinkedIn",
"Notion",
"OAuth2",
"Slack",
"Spotify",