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.1.tar.gz (2.4 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.1-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oraczenhq_authorization-0.0.1.tar.gz
  • Upload date:
  • Size: 2.4 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.1.tar.gz
Algorithm Hash digest
SHA256 408562354eb64d76dbb68db37cf7ba6e67c5a41b9a88637b5f00a3839eb641a5
MD5 d32cc9ad76ac6ae8706fb881ccec4f0a
BLAKE2b-256 633510103b1ee8efc084720a3f30a78ee788e6ff99dd04493c0cb12291ad4358

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oraczenhq_authorization-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a16f9c9ebe866ef777750c3eab9d667edd26365131204ce5cb74f00bf6222388
MD5 414fc49616ee7f1133864d5d2be8111f
BLAKE2b-256 ad8c6d02d00d3c1e99554372f653db4275034a20531150dd12af1fa09bec7a8d

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