Skip to content

Commit acde1e9

Browse files
authored
Merge pull request authlib#533 from vicchi/gg-starlette-url-fix
Starlette v0.26.0 support and authorize_redirect fix
2 parents 2d5d792 + f991848 commit acde1e9

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

  • authlib/integrations/starlette_client

authlib/integrations/starlette_client/apps.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from starlette.datastructures import URL
12
from starlette.responses import RedirectResponse
23
from ..base_client import OAuthError
34
from ..base_client import BaseApp
@@ -26,6 +27,10 @@ async def authorize_redirect(self, request, redirect_uri=None, **kwargs):
2627
:param kwargs: Extra parameters to include.
2728
:return: A HTTP redirect response.
2829
"""
30+
31+
# Handle Starlette >= 0.26.0 where redirect_uri may now be a URL and not a string
32+
if redirect_uri and isinstance(redirect_uri, URL):
33+
redirect_uri = str(redirect_uri)
2934
rv = await self.create_authorization_url(redirect_uri, **kwargs)
3035
await self.save_authorize_data(request, redirect_uri=redirect_uri, **rv)
3136
return RedirectResponse(rv['url'], status_code=302)

0 commit comments

Comments
 (0)