Catalog
technology#Delivery#Governance#Standards#Web Applications

OAuth 2.0

OAuth 2.0 is a widely adopted standard for authorizing applications and services.

OAuth 2.
Established
Medium

Classification

  • Medium
  • Technical
  • Architectural
  • Advanced

Technical context

Web ServerDatabaseThird-Party APIs

Principles & goals

Separation of identity and authorization.Provide user-friendly authentication.Ensure secure token transmission.
Build
Enterprise

Use cases & scenarios

Compromises

  • Abuse of tokens by third parties.
  • Security vulnerabilities in implementations.
  • Misconfiguration of authorizations.
  • Perform regular security audits.
  • Provide documentation for users.
  • Use secure tokens.

I/O & resources

  • User Data
  • API Token
  • Server Configuration
  • Access to Protected Resources
  • Sharing of Authentications
  • Feedback on Security

Description

OAuth 2.0 allows applications to access users' resources without exposing their credentials. It is a flexible and secure method employed in many modern web applications.

  • Increased security through access controls.
  • Simplified user login.
  • Enhanced integration capabilities.

  • Complexity in implementation.
  • Access rights are difficult to manage.
  • Potential issues with token expirations.

  • Number of Successful Authentications

    Measures how often users successfully access the system.

  • Token Expiration Time

    Indicates the duration until a token expires.

  • Access Requests per Hour

    Measures the load on the system.

OAuth 2.0 in Google API

Google uses OAuth 2.0 for authorizing API access.

Facebook Login

Facebook allows authentications via OAuth 2.0.

GitHub OAuth

GitHub allows users to access accounts via OAuth 2.0.

1

Define the use cases.

2

Integrate OAuth libraries into the project.

3

Test authentication mechanisms.

⚠️ Technical debt & bottlenecks

  • Using outdated libraries.
  • Missing authentication logic.
  • Weak token management practices.
Token ManagementUser ManagementAPI Documentation
  • Transmit tokens without encryption.
  • Store user data insecurely.
  • Not implementing token management.
  • Ignoring technical debts.
  • Not performing enough tests.
  • Inadequate documentation.
Knowledge of OAuth protocols.Experience in API development.Security awareness.
Interoperability between systems.Speed in user authentication.Flexibility in API usage.
  • Compliance with data protection regulations.
  • Technological dependencies.
  • Policies for authentication.