Skip to content

fix: Python AuthorizationUrlOptions uses constructor kwargs — crashes at runtime #717

@saif-shines

Description

@saif-shines

Problem

The Python SDK's AuthorizationUrlOptions.__init__() takes no arguments. Multiple docs pages pass keyword arguments to the constructor, which raises TypeError at runtime.

Affected files (8 instances)

File Line Wrong pattern
src/content/docs/guides/user-auth/preserve-intended-destination.mdx 114 AuthorizationUrlOptions(scopes=[...])
src/content/docs/guides/user-auth/check-sso-domain.mdx 109 AuthorizationUrlOptions(login_hint=email)
src/content/docs/authenticate/fsa/complete-login.mdx 549 AuthorizationUrlOptions(scopes=[...], organization_id=...)
src/content/docs/authenticate/fsa/complete-login.mdx 598 AuthorizationUrlOptions(scopes=[...], login_hint=...)
src/content/docs/authenticate/fsa/complete-login.mdx 645 AuthorizationUrlOptions(scopes=[...], connection_id=...)
src/content/docs/authenticate/fsa/complete-login.mdx 691 AuthorizationUrlOptions(scopes=[...], prompt='login')
src/content/docs/authenticate/fsa/complete-login.mdx 735 AuthorizationUrlOptions(scopes=[...], prompt='select_account')
src/content/docs/authenticate/fsa/complete-login.mdx 779 AuthorizationUrlOptions(scopes=[...], prompt='create')

Root cause

In scalekit-sdk-python, the class is defined as:

class AuthorizationUrlOptions:
    def __init__(self):  # no kwargs
        self.state: Optional[str] = None
        self.scopes: Optional[str] = None
        # ...

Passing any keyword argument to the constructor raises:

TypeError: AuthorizationUrlOptions.__init__() got an unexpected keyword argument '...'

Correct pattern

options = AuthorizationUrlOptions()
options.scopes = ["openid", "profile", "email", "offline_access"]
options.organization_id = org_id
auth_url = sc.get_authorization_url(redirect_uri, options)

Context

This same bug class was already fixed across all auth-stack plugin repos (claude-code-authstack PR #20, cursor-authstack PR #12, codex-authstack PR #6, github-copilot-authstack PR #7, skills PR #16). These 8 instances in developer-docs are the remaining occurrences.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions