HabrAugust 27, 2026🇷🇺Translated from Russian

redb.Identity Adds gRPC Transport for OpenID Server Alongside Existing HTTP Facade

redb.Identity has added a gRPC facade to its OpenID server, placing it alongside the existing HTTP transport on the same core routes. The server remains transport-agnostic: all authorization logic resides behind direct-vm://identity-* addresses, and both HTTP and gRPC now act as interchangeable facades over this kernel.

The new surface implements the protocol operations required by relying parties: Token at /identity.v1.Identity/Token (RFC 6749 §3.2), Introspect (RFC 7662), Revoke (RFC 7009), UserInfo (OIDC Core §5.3), Discovery, and Jwks (RFC 7517). A gRPC health check is also exposed via grpc.health.v1.Health/Check. Forty administrative operations across five services (Users, Applications, Groups, Scopes, Tokens) are available on a dedicated management port.

Requests accept the same key-value pairs defined by the RFCs plus a map<string, string> for extensions. Responses type the fields fixed by the specifications and place open sets such as claims into google.protobuf.Struct. OAuth errors are returned as gRPC status codes (UNAUTHENTICATED, PERMISSION_DENIED, RESOURCE_EXHAUSTED, INVALID_ARGUMENT) with the original error code and correlation identifier carried in trailers.

The same token issued through dynamic client registration over HTTP is accepted by the gRPC endpoint and yields identical authorization decisions. Scope evaluation occurs once inside the kernel at direct-vm://identity-authz-check, eliminating the risk of divergent policy between transports.

Browser flows (authorize, login, consent, MFA), DPoP proofs (RFC 9449), and user self-service remain exclusively on HTTP. The gRPC listener uses its own port because it requires HTTP/2 while the HTTP facade supports both HTTP/1.1 and HTTP/2.

Configuration is placed in the shared context.json under the identity.grpc section, allowing independent host, port, TLS, and compression settings. The EmitHttpCompatHeaders flag is enabled by default to preserve IP-based rate limiting and device metadata collection.

Related articles

AntiMalwareOther

Nvidia to Cease Regular GeForce Driver Updates for Windows 10 After October 2026

Nvidia has announced the end of regular driver support for Windows 10 in its GeForce Game Ready and Nvidia Studio driver lines starting October 2026. The first driver package without Windows 10 support will arrive in November of that year. Microsoft ended the base lifecycle of Windows 10 on October 14, 2025, and Nvidia is extending support by one additional year. Existing games and applications will continue to function after the change, while quarterly security patches for critical vulnerabilities will remain available until October 2029. Users will no longer receive optimizations for new games, fixes for graphics issues, or new GPU features. Newer technologies such as DLSS may also skip Windows 10 compatibility. The transition is described as gradual rather than abrupt, allowing older titles to keep running while newer releases increasingly encourage migration to a supported Windows version.

AntiMalwareOther

Rospotrebnadzor Introduces Age-Based Screen Time Limits for Russian School Students

Russia's consumer protection agency Rospotrebnadzor has established recommended maximum durations for schoolchildren working with computers and interactive whiteboards during lessons. The limits vary by grade, ranging from 20 minutes for first and second graders up to 35 minutes for students in grades 10 and 11. Separate rules apply to interactive boards, capping usage at 20 minutes for children under 10 and 30 minutes for older students. Schools must ensure students perform eye exercises when electronic devices are used, while traditional paper-based classes require such exercises only during breaks. Starting September 1 2026, a nationwide ban on mobile phones during lessons will also take effect, with individual schools deciding rules for recess periods.

HabrOther

From Root CA to User Authorization in nginx and Apache: Client Certificate Login Explained

This is the third installment in a detailed tutorial series covering the deployment of a two-tier PKI infrastructure with Root CA and intermediate CAs for Person, Server, and Code. The article provides comprehensive configuration guidance for enabling mTLS in nginx and Apache, including full references for all ssl_client_* variables and SSL directives. It explains the differences between password-based and certificate-based authentication, the TLS handshake steps involving CertificateRequest and CertificateVerify, and the importance of proper extendedKeyUsage settings such as clientAuth. Readers learn how to issue client certificates, package them in PKCS#12 format, enforce revocation checks via CRL and OCSP, and safely pass certificate fields to backend applications while mitigating risks from header spoofing. The guide also covers scenarios where the application itself terminates TLS without a reverse proxy and demonstrates login flows protected against CSRF using one-time tokens.

HabrOther

Honeytoken Traps for Detecting Compromised Backends in Encryption Key Services

The article details a honeytoken-based detection system designed to identify when a trusted backend has been compromised and is abusing its signing key to request encryption keys for arbitrary documents. A secret set of fake user and document identifiers is stored only inside the key service using keyed HMAC-SHA256 hashes, ensuring the backend itself cannot discover or bypass the canaries. Any signed request touching these identifiers triggers an alarm, audit logging, and optional emergency lock that wipes master keys from memory. The check is deliberately placed after signature validation but before envelope decryption to avoid false positives from unauthenticated attackers while keeping performance cost low. Two types of canaries address different attack patterns: document canaries catch bulk scraping while user canaries detect forged grants for non-existent principals. The mechanism has been deployed in production, with live tests confirming silent failure responses externally and clear canary_trip plus emergency_lock events internally. Limitations include inability to catch targeted extraction of a single real user’s documents and the fact that detection occurs after a canary key has already been issued.