goauthentik / goauthentik/client-python

Configuration.api_key* are not really used

Đang mở
#10 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Mustache
Star
2
Fork
1
Merge trung bình
15 giờ 5 phút
Pull request đã merge (30 ngày)
2

Mô tả

I got tempted to pass `api_key = 'my-super-duper-secret-key'` to the Configuration object, as one has an API key at hand, and all I got was a 403 Error ~~(t-shirt material right there)~~.

```python
import os
import sys
import authentik_client

def main():
host = os.environ.get("AUTHENTIK_HOST") # I passed here a URL ending in "/api/v3" even though is called "host", see #9
token = os.environ.get("AUTHENTIK_TOKEN")
if not token:
print("AUTHENTIK_TOKEN unset")
sys.exit(1)

if not host:
print("AUTHENTIK_URL unset")
sys.exit(1)

configuration = authentik_client.Configuration(
host=host,
api_key=token
)

with authentik_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = authentik_client.AdminApi(api_client)
try:
api_response = api_instance.admin_apps_list()
print("The response of AdminApi->admin_apps_list:\n")
print(api_response)
except authentik_client.ApiException as e:
print("Exception when calling AdminApi->admin_apps_list: %s\n" % e)

if __name__ == "__main__":
main()
```

When invoking it I got:

```
python move-okta-app-to-authentik.py
Exception when calling AdminApi->admin_apps_list: (403)
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'date': 'Thu, 30 Oct 2025 20:47:20 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '58', 'allow': 'GET, HEAD, OPTIONS', 'referrer-policy': 'same-origin', 'vary': 'Accept-Encoding, Cookie', 'x-authentik-id': 'af8d40bf08934e5cb8e602be325694f6', 'x-content-type-options': 'nosniff', 'x-frame-options': 'DENY', 'x-powered-by': 'authentik', 'strict-transport-security': 'max-age=31536000; includeSubDomains'})
HTTP response body: detail='Authentication credentials were not provided.' code=None
```

In fairness the example in the REAMDE.md points out the usage of `access_token`, however it doesn't really align with the nomenclature.

```
# Configure Bearer authorization: authentik
configuration = authentik_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
```

But your API Credential to interact with the server is a "Bootstrap _token_", and for users you can create "_Token_"'s, (notice the lack of "Access").

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.