Habr•July 28, 2026•🇷🇺Translated from Russian

OAuth Authorization Server Built Without Storing User Profiles

OAuth servers typically combine authentication, profile management, and delegated authorization in one component. This case study describes a production architecture where the Authorization Server stores nothing about users beyond the identity asserted by an external IdP.

The system was shaped by three hard constraints. Hundreds of isolated APIs are created at runtime, each becoming its own audience. The client is a public SPA without a backend-for-frontend, so bearer tokens cannot be hidden from JavaScript. Resource servers must validate tokens locally because synchronous calls to a central AS would create unacceptable latency and a single point of failure.

The Authorization Server therefore knows only the IdP identity (provider and profileId) stored in short-lived Redis sessions. It issues short-lived access tokens and refresh tokens containing standard claims plus application claims for audience and tenant. The sub claim initially holds the federated identity; after the Main API registers or links the user, the same claim is replaced by an internal UUID together with profile claims.

Profile data lives exclusively in the Main API. This separation reduces blast radius: compromise of the AS yields no personal data, while compromise of the profile database leaves authentication untouched. The AS remains a pure issuer that can be rewritten or replaced without touching product logic.

Tokens never reside in localStorage or page memory. A Service Worker holds them in its isolated context, automatically attaches the Authorization header, and performs refresh centrally for all tabs. After login the SPA immediately revokes the first access token; the worker later obtains a fresh token via a custom FedCM grant that re-uses the existing session cookie.

The architecture also satisfies data-protection requirements by keeping personal data out of the central authority. Deletion requests are handled locally by each resource that stores a profile, eliminating the need to search the entire system for copies.

Related articles

Securitylab•Other

OpenAI Releases GPT-6.1 Terra: Cost-Effective Model Focused on Computer Control, Image Analysis and Practical Automation

OpenAI has launched GPT-6.1 Terra, a new model positioned between its high-end GPT-6 Astra and more affordable options in the GPT-6 family. The model emphasizes real-world computer interaction, visual understanding of documents and interfaces, and reduced error rates rather than raw reasoning benchmarks. It supports a 1.05 million token context window, image inputs, and tool use through the Responses API while cutting input token prices by half compared with its predecessor. Published benchmarks show substantial gains on Terminal-Bench 4.0, OSWorld 2.1 and Agents' Last Exam, with error rates dropping sharply at both low and maximum reasoning levels. OpenAI stresses that the model still requires human oversight for high-stakes actions and does not directly process audio or video. The release targets developers and enterprises seeking reliable automation of repetitive multi-step tasks at lower cost than flagship models.

Habr•Other

Yandex Black October: How Architectural Flaws and Capacity Mismanagement Turned Data Center Losses Into a 11-Day Fintech Coma

In October 2026 three Yandex data centers in Central Russia were physically destroyed within days, triggering the collapse of Yandex Cloud and multiple core services. Between the first and third site failures engineers had 74 hours to restore quorum and rebalance workloads yet failed to do so because Control Plane components remained tied to the lost zone and spare capacity had been eliminated to cut costs. Core banking and BNPL systems entered Read-Only mode after losing quorum, forcing a complete stop-the-world reconciliation that lasted until 22 October. Backups stored inside the same regional S3 buckets proved unusable, resulting in a seven-day RPO and primary-key collisions after restoration. The incident exposed that Metro-Cluster designs had been incorrectly treated as full Disaster Recovery and that aggressive AP microservice patterns created logical split-brain conditions outside the database layer.

AntiMalware•Other

Astra Group Releases Low-Code Astra AI Platform for Building Corporate AI Agents in Closed Environments

Astra Group has launched the Astra AI Platform, a low-code constructor designed for creating corporate AI applications that operate entirely within closed circuits without reliance on foreign clouds. The platform targets small and medium businesses as well as large corporations, enabling rapid deployment of AI secretaries, technical support assistants, and other agents in days rather than months. It forms part of the broader Astra AI ecosystem and includes two main constructors: one for machine learning model training and deployment, and another for LLM-based language assistants, document search, and process automation. Users can assemble scenarios from visual blocks, debug them in real time, or extend functionality with custom Python code when needed. The solution supports RAG-based knowledge bases, integration with external tools such as CRM and ERP systems, and the coordination of multiple agents for distributed task handling. One demonstrated use case involves processing ten pages of engineering drawings and specifications in five minutes to prepare data for downstream systems. The product is already listed in the Russian domestic software registry and available to customers.

Habr•Other

Multi-Tenancy Isolation in VictoriaMetrics, VictoriaLogs and Grafana: Building Client Separation in a Shared Stack

Voltir runs a single shared monitoring stack consisting of VictoriaMetrics, VictoriaLogs, Grafana and vmalert for all customers instead of deploying separate instances per tenant. Isolation relies on numeric account IDs enforced at every layer: nginx validates tokens against the platform API before proxying writes, Grafana data sources hard-code tenant accounts, and vmalert rules receive automatic account filters. The team discovered that a single malformed rule or template could break alerting for every tenant because vmalert loads the entire rules directory at once. They also found that Grafana automatically created personal organizations granting Org Admin rights, accumulating hundreds of orphaned organizations and users that consumed disk space and resources. A dedicated cleanup module plus hourly reconciliation now removes rules, organizations, series and users when a tenant is deleted, while isolation tests verify both data and API objects across tenants.