<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/services/vyos-http-api-server, branch fix/T8955-http-api-verify-tls</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=fix%2FT8955-http-api-verify-tls</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=fix%2FT8955-http-api-verify-tls'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-09-02T00:35:35+00:00</updated>
<entry>
<title>http-api: T8989: address Copilot review comments</title>
<updated>2026-09-02T00:35:35+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-26T07:10:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=ea4a1e2dc6093570e4876b9f2a29c6cecc17d6f4'/>
<id>urn:sha1:ea4a1e2dc6093570e4876b9f2a29c6cecc17d6f4</id>
<content type='text'>
- Remove fallback 'oidc-client' identity - tokens without sub/client_id
  are now rejected
- Suppress OIDC validation error details from stdout
- Cache discovered JWKS URI back to session to avoid per-request discovery
- token_op now accepts X-API-Key header alongside form field
- Reset REST/OIDC session attributes on SIGHUP reload to prevent stale
  config persisting after nodes are removed
</content>
</entry>
<entry>
<title>http-api: T8989: address OIDC review comments</title>
<updated>2026-09-02T00:35:35+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-19T07:49:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=34d1c5c87283cfe905b6925bc9181368d5cbdd0e'/>
<id>urn:sha1:34d1c5c87283cfe905b6925bc9181368d5cbdd0e</id>
<content type='text'>
- Use OpenID Connect discovery (/.well-known/openid-configuration) to
  resolve JWKS URI when jwks-url is not explicitly configured
- Add optional audience validation via new oidc audience config node
- Require exp claim in OIDC tokens
- Reject jwks-url without issuer at commit time
</content>
</entry>
<entry>
<title>http-api: T8989: add OAuth2/OIDC authentication for REST API</title>
<updated>2026-09-02T00:35:25+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-14T06:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=b8136290e326ba8a1879a3c55eea9e0a1303fedd'/>
<id>urn:sha1:b8136290e326ba8a1879a3c55eea9e0a1303fedd</id>
<content type='text'>
Add support for validating OIDC Bearer tokens issued by external identity
providers (Keycloak, Azure AD, Okta, Vault, etc.) against the configured
JWKS endpoint.

Configuration:
  set service https api rest authentication oidc issuer &lt;url&gt;
  set service https api rest authentication oidc jwks-url &lt;url&gt;

If jwks-url is not set, it is derived from the issuer URL using the
standard OpenID Connect discovery path.

Auth priority: mTLS -&gt; VyOS JWT -&gt; OIDC -&gt; API key
</content>
</entry>
<entry>
<title>http-api: T8989: address review comments</title>
<updated>2026-08-26T18:33:34+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-12T04:38:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=d62e57071f2afb83879f576f6a3af5ecaa21023b'/>
<id>urn:sha1:d62e57071f2afb83879f576f6a3af5ecaa21023b</id>
<content type='text'>
- Make ApiModel.key optional to allow Bearer/X-API-Key/mTLS auth
  without requiring a dummy key field in the request body
- Add thread safety to REST token secret initialization
- Cast rest_token_exp and rest_secret_len to int on load
- Use defensive dict.get() for authentication config access
</content>
</entry>
<entry>
<title>http-api: T8989: add REST Bearer token authentication</title>
<updated>2026-08-26T18:33:34+00:00</updated>
<author>
<name>omnom62</name>
<email>omnom62@outlook.com</email>
</author>
<published>2026-08-04T23:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=f3012e652edef614d4f0ed169b320106a85d83b3'/>
<id>urn:sha1:f3012e652edef614d4f0ed169b320106a85d83b3</id>
<content type='text'>
Add JWT Bearer token support to the REST API, as an additional
authentication method alongside the existing form-field key and
X-API-Key header.

- New POST /token endpoint mints a JWT for a valid API key
- auth_required() accepts Authorization: Bearer &lt;token&gt; alongside
  existing key/X-API-Key auth
- New config nodes: service https api rest authentication
  {expiration, secret-length} (defaults: 3600s / 32 bytes)
- REST tokens use an independent signing secret from GraphQL's,
  since GraphQL may not be enabled on all deployments and the two
  subsystems have different expiry requirements
- nginx location regex updated to allow /token
- service_https.py default-value merge generalized to also apply
  to the rest node, not just graphql, so REST authentication
  defaults populate correctly on commit
</content>
</entry>
<entry>
<title>T8410: Fix typos and mistakes for operational and configuration commands</title>
<updated>2026-03-24T17:02:56+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2026-03-20T16:41:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=bb2aee1e58c1cd30087b935798060e6bf3c698c8'/>
<id>urn:sha1:bb2aee1e58c1cd30087b935798060e6bf3c698c8</id>
<content type='text'>
Fix typos and mistakes in the commands and comments
No functional changes
</content>
</entry>
<entry>
<title>T7591: remove copyright years from source files</title>
<updated>2025-06-28T21:16:52+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-06-28T18:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1478516ae437f19ebeb7d6ff9b83dd74f8e76758'/>
<id>urn:sha1:1478516ae437f19ebeb7d6ff9b83dd74f8e76758</id>
<content type='text'>
The legal team says years are not necessary so we can go ahead with it, since
it will simplify backporting.

Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \
's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors &lt;maintainers@vyos.io&gt;/g'

In addition we will error-out during "make" if someone re-adds a legacy
copyright notice
</content>
</entry>
<entry>
<title>T4406: Add public API endpoint to display information</title>
<updated>2025-03-06T12:46:40+00:00</updated>
<author>
<name>oniko94</name>
<email>onikolaiev94@outlook.com</email>
</author>
<published>2025-03-05T17:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9fe7d85f78e967c251b3437a90e1a5f01dab1868'/>
<id>urn:sha1:9fe7d85f78e967c251b3437a90e1a5f01dab1868</id>
<content type='text'>
</content>
</entry>
<entry>
<title>http-api: T6736: regenerate openapi docs</title>
<updated>2024-09-30T03:21:21+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2024-09-26T03:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=9f7767c8022f5e6ad70253ef1c94fc22dbd04f1e'/>
<id>urn:sha1:9f7767c8022f5e6ad70253ef1c94fc22dbd04f1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>http-api: T6736: remove routes on config delete</title>
<updated>2024-09-30T03:21:21+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2024-09-25T19:02:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=954be34bc938acc9e14d9fb3b32c8f96cd999959'/>
<id>urn:sha1:954be34bc938acc9e14d9fb3b32c8f96cd999959</id>
<content type='text'>
Avoid duplicate entries in the list of routes when adding/deleting
endpoints.
</content>
</entry>
</feed>
