
redb.Identity Adds gRPC Transport for OpenID Server Alongside Existing HTTP Facade
redb.Identity has introduced a second transport layer using gRPC next to its existing HTTP interface, sharing the same core routes, client registry, token store, and authorization logic. The new facade exposes standard OAuth and OpenID Connect operations such as Token, Introspect, Revoke, UserInfo, Discovery, and Jwks through protobuf-defined methods under identity.v1.Identity. Both transports enforce identical verdicts based on a single centralized scope table located behind direct-vm addresses, ensuring that a client authorized via HTTP receives the same result when calling gRPC. Error handling on gRPC uses status codes and trailers to carry machine-readable OAuth error codes and retry-after values, preserving compatibility with existing interceptors and tracing. Browser-facing flows, DPoP proofs, and user self-service remain on HTTP, while administrative operations are available on a separate management port. The implementation was validated through 64 unit tests, cross-language interop with @grpc/grpc-js clients, and a conformance run against the official OpenID Foundation suite.
HabrAug 27, 2026Translated from Russian