Skip to main content

Authorization client

Project description

Thank you for the update.
With your new changes, the usage pattern of your library's singleton service has changed.

Now, before calling OpenFgaServiceSingleton.get_service(), you need to set the configuration via OpenFgaServiceSingleton.config = <YourConfigInstance>.
No configuration argument is accepted in get_service() anymore.


⏩ Updated Basic Setup & Usage

Step 1. Set configuration and initialize

from your_library import OpenFgaConfig, OpenFgaServiceSingleton

# 1. Create configuration as before
fga_config = OpenFgaConfig(
    store_name="my-store",
    model_version="1",
    model_obj={},  # your FGA model dict
    api_url="http://localhost:8080",  # or your FGA API endpoint
    redis_host="localhost",
    redis_password=None,
    redis_port="6379",
)

# 2. Set configuration on the singleton class BEFORE get_service()
OpenFgaServiceSingleton.config = fga_config

# 3. Now get the service
service = OpenFgaServiceSingleton.get_service()

# 4. Continue as before
await service.setup_store()
await service.setup_auth_model()
auth_model = await service.read_auth_model()
print(auth_model)

Example Usage: List objects

# Get the (already initialized) singleton service
fga = OpenFgaServiceSingleton.get_service()

# List object IDs of type 'doc' where 'user:alice' has 'reader' access
object_ids = await fga.list_objects("user:alice", "reader", "doc")
print(object_ids)

🔍 What changed?

  • You MUST set OpenFgaServiceSingleton.config = <YourConfig> before you try to instantiate the service.
  • If get_service() is called before .config is set, you get an Exception:

    "OpenFgaConfig must be set before getting the service instance."

  • Passing config in get_service(config) is no longer supported.

📦 Reusable Example

from your_library import OpenFgaConfig, OpenFgaServiceSingleton

fga_config = OpenFgaConfig(
    store_name="my-store",
    model_version="1",
    model_obj={},
    api_url="http://localhost:8080"
)
OpenFgaServiceSingleton.config = fga_config

service = OpenFgaServiceSingleton.get_service()
await service.setup_store()
await service.setup_auth_model()
auth_model = await service.read_auth_model()

object_ids = await service.list_objects("user:alice", "reader", "doc")
print(object_ids)

Be sure to always set .config before .get_service()!


Let me know if you would like an updated full documentation, code template, or anything else!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oraczenhq_authorization-0.0.3.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oraczenhq_authorization-0.0.3-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file oraczenhq_authorization-0.0.3.tar.gz.

File metadata

  • Download URL: oraczenhq_authorization-0.0.3.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for oraczenhq_authorization-0.0.3.tar.gz
Algorithm Hash digest
SHA256 bff20754303cc26eb9ede18dd1430f13c354df416ef13d40b9ba8a16329fb5f9
MD5 308f3a584d2b0cb72db41cbf0c4d34ca
BLAKE2b-256 5ab61220c32b2cb99f1131541ae8bbb670e4359ddf75148f2bd24fa75e4c4071

See more details on using hashes here.

File details

Details for the file oraczenhq_authorization-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for oraczenhq_authorization-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4df0fa6d5e2291621660f16fe44233eaeb776d65a7aa1dd73533324088017ddb
MD5 3a2700477c7b9130e4cf64d6b905ca39
BLAKE2b-256 818a55701c828d99b1a4d1e5de7b47e6c4a638bcf71dfbadd748070a22029ce6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page