Sobes.tech
Back to questions
Senior
7

Если в API Gateway нужна авторизация и агрегация с пользователями, что лучше использовать — готовое решение или своё?

Companies where asked
Алабуга

Answer from AI

sobes.tech AI

При выборе между готовым решением и собственным разработанным для авторизации и агрегации пользователей в API Gateway стоит учитывать несколько факторов:

  • Скорость разработки и надежность: Готовые решения обычно проверены временем, имеют поддержку и обновления, что снижает риски безопасности и багов.
  • Гибкость и кастомизация: Если требования специфичны и готовые решения не покрывают нужный функционал, возможно, стоит разработать собственное.
  • Поддержка и масштабируемость: Готовые решения часто лучше масштабируются и интегрируются с другими сервисами.
  • Безопасность: Готовые решения обычно соответствуют стандартам безопасности и регулярно обновляются.

В большинстве случаев для авторизации и управления пользователями лучше использовать проверенные готовые решения (например, OAuth-провайдеры, OpenID Connect, Keycloak), а кастомные разработки делать только при явной необходимости уникального функционала или интеграции.

Пример использования готового решения на Go с Keycloak:

import (
    "github.com/Nerzal/gocloak/v11"
)

func authenticateUser(username, password string) (bool, error) {
    client := gocloak.NewClient("https://keycloak.example.com")
    token, err := client.Login("realm", "clientID", "clientSecret", username, password)
    if err != nil {
        return false, err
    }
    return token.AccessToken != "", nil
}