AWorld Lab
About
API Reference
API Reference
  • App API
  • Dashboard API
  • Overview
API Download
API Download
  • App API
  • Dashboard API
AWorld.orgAWorld Trust
About
API Reference
API Reference
  • App API
  • Dashboard API
  • Overview
API Download
API Download
  • App API
  • Dashboard API
AWorld.orgAWorld Trust
AWorld.org
  1. API Overview
  • AWorld Lab
    • Engagement for Businesses and Organizations
    • API-first for Gamification
    • Gamification Features and Mechanics
    • Infrastructure and Technology
    • Technical Details
  • API Overview
    • Getting Started
    • Multi-Tenancy
    • Workspaces
    • Authentication
    • Common Features
    • API Reference
      • App API Reference (Consumer)
        • ActivityLogs
          • Create activity log
        • Analytics
          • Get community metrics
        • Learning Paths
          • Items
            • List learning path items
          • List learning paths
          • Get learning path by ID
        • Learning Groups
          • Tags
            • List learning group tag assignments
            • Get learning group tag assignment
          • Translation
            • Get learning group translation
          • List learning groups
          • Get learning group by ID
        • Learning Path Assignments
          • Items
            • List learning path assignment items
          • Tags
            • List learning path assignment tags
            • Get learning path assignment tag by ID
          • Translation
            • Get learning path assignment translation
          • List learning path assignments
          • Get learning path assignment by ID
        • Missions
          • List missions
          • Get mission
        • Quizzes
          • Tags
            • List quiz tags
            • Get quiz tag by ID
          • Translation
            • Get quiz translation
          • List quizzes
          • Get quiz by ID
          • Submit quiz answers
        • Runtime Leaderboards
          • List runtime leaderboards
          • Get a runtime leaderboard by ID
          • Get leaderboard rankings
          • Get current user's ranking
        • Slides
          • TagAssignments
            • List slide tags
            • Get slide tag by ID
          • Translation
            • Get slide translation
          • List slides
          • Get slide by ID
          • Submit slide completion
        • Stories
          • TagAssignments
            • List story tags
            • Get story tag by ID
          • Translation
            • Get story translation
          • List stories
          • Get story by ID
          • Submit story completion
        • Streaks
          • List streaks
        • Users
          • Tags
            • List current user tags
            • Get current user tag by ID
          • Get current user
          • Get current user principal
          • Update current user
          • Get current user learning stats
        • VirtualBalances
          • List virtual balances
          • Get virtual balance by currency ID
        • VirtualTransactions
          • List virtual transactions
          • Create virtual transaction
          • Get virtual transaction by ID
          • Redeem virtual transaction
        • WorkspaceConfiguration
          • Get workspace configuration
      • Dashboard API Reference (Admin)
        • Activities
          • Tags
            • List activity tag assignments
            • Create multiple activity tag assignments
            • Update multiple activity tag assignments
            • Delete multiple activity tag assignments
            • Get activity tag assignment
            • Create activity tag assignment
            • Update activity tag assignment
            • Delete activity tag assignment
          • Translations
            • List activity translations
          • List activities
          • Create activity
          • Get activity by ID
          • Update activity
          • Publish an activity
        • Analytics
          • Get content analytics
          • Get economy analytics
          • Get engagement analytics
          • Get gamification analytics
          • Get learning analytics
          • Get analytics overview
          • Get quiz analytics
        • Learning Paths
          • Items
            • List learning group items
            • List learning path items
          • Tags
            • List learning path tag assignments
            • Create multiple learning path tag assignments
            • Update multiple learning path tag assignments
            • Delete multiple learning path tag assignments
            • Get learning path tag assignment
            • Create learning path tag assignment
            • Update learning path tag assignment
            • Delete learning path tag assignment
          • Translations
            • List learning path translations
          • List learning paths
          • Create learning path
          • Get learning path by ID
          • Update learning path
          • Publish learning path
        • Learning Groups
          • Tags
            • List learning group tag assignments
            • Create multiple learning group tag assignments
            • Update multiple learning group tag assignments
            • Delete multiple learning group tag assignments
            • Get learning group tag assignment
            • Create learning group tag assignment
            • Update learning group tag assignment
            • Delete learning group tag assignment
          • Translations
            • List learning group translations
          • List learning groups
          • Create learning group
          • Get learning group by ID
          • Update learning group
          • Publish learning group
        • LearningPathRules
          • List learning path rules
          • Create learning path rule
          • Get learning path rule by ID
          • Update learning path rule
          • Publish learning path rule
        • LearningPathAssignments
          • List learning path assignments
          • Create learning path assignment (manual)
          • Get learning path assignment by ID
        • Missions
          • Create mission (manual)
        • MissionRules
          • Tags
            • List mission rule tag assignments
            • Create multiple mission rule tag assignments
            • Update multiple mission rule tag assignments
            • Delete multiple mission rule tag assignments
            • Get mission rule tag assignment
            • Create mission rule tag assignment
            • Update mission rule tag assignment
            • Delete mission rule tag assignment
          • Translations
            • List mission rule translations
          • List mission rules
          • Create mission rule
          • Get mission rule by ID
          • Update mission rule
          • Publish mission rule
        • MissionConfigurations
          • Tags
            • List mission configuration tag assignments
            • Create multiple mission configuration tag assignments
            • Update multiple mission configuration tag assignments
            • Delete multiple mission configuration tag assignments
            • Create mission configuration tag assignment
            • Update mission configuration tag assignment
            • Delete mission configuration tag assignment
            • Get mission configuration tag assignment
          • Translations
            • List mission configuration translations
          • List mission configurations
          • Create mission configuration
          • Get mission configuration by ID
          • Update mission configuration
          • Publish mission configuration
        • Mobility
          • Get mobility activation
          • Update mobility activation
          • List mobility milestones
          • Get mobility milestone
          • Redeem mobility milestone
          • Get MotionTag status
          • Get MotionTag token
          • List mobility trackings
          • List mobility activations
          • Create mobility activation
        • Media
          • Tags
            • List media tag assignments
            • Create multiple media tag assignments
            • Update multiple media tag assignments
            • Delete multiple media tag assignments
            • Get media tag assignment
            • Create media tag assignment
            • Update media tag assignment
            • Delete media tag assignment
        • MediaLibrary
          • Translations
            • List media translations
          • List media files
          • Get presigned upload URL
          • Get media file by ID
          • Update media file metadata
          • Delete media file
        • Quizzes
          • Translations
            • List quiz translations
          • Tags
            • List quiz tag assignments
            • Create multiple quiz tag assignments
            • Update multiple quiz tag assignments
            • Delete multiple quiz tag assignments
            • Get quiz tag assignment
            • Create quiz tag assignment
            • Update quiz tag assignment
            • Delete quiz tag assignment
          • List quizzes
          • Create quiz
          • Get quiz by ID
          • Update quiz
          • Publish quiz
        • RewardRules
          • List reward rules
          • Create reward rule
          • Get reward rule by ID
          • Update reward rule
          • Publish reward rule
        • Runtime Leaderboards
          • Create a runtime leaderboard
          • List runtime leaderboards
          • Get a runtime leaderboard by ID
          • Update a runtime leaderboard
        • RuntimeLeaderboardConfigurations
          • List runtime leaderboard configurations
          • Create a new runtime leaderboard configuration
          • Get runtime leaderboard configuration by ID
          • Update a runtime leaderboard configuration
          • Create a new runtime leaderboard instance
          • List translations for a runtime leaderboard configuration
        • Slides
          • Tags
            • List slide tag assignments
            • Create multiple slide tag assignments
            • Update multiple slide tag assignments
            • Delete multiple slide tag assignments
            • Get slide tag assignment
            • Create slide tag assignment
            • Update slide tag assignment
            • Delete slide tag assignment
          • Translations
            • List slide translations
          • List slides
          • Create slide
          • Get slide by ID
          • Update slide
          • Publish slide
        • Stories
          • Tags
            • List story tag assignments
            • Create multiple story tag assignments
            • Update multiple story tag assignments
            • Delete multiple story tag assignments
            • Get story tag assignment
            • Create story tag assignment
            • Update story tag assignment
            • Delete story tag assignment
          • Translations
            • List story translations
            • List story translations
          • List stories
          • Create story
          • Get story by ID
          • Update story
          • Publish story
        • StreakConfigurations
          • Tags
            • List streak configuration tag assignments
            • Create multiple streak configuration tag assignments
            • Update multiple streak configuration tag assignments
            • Delete multiple streak configuration tag assignments
            • Get streak configuration tag assignment
            • Create streak configuration tag assignment
            • Update streak configuration tag assignment
            • Delete streak configuration tag assignment
          • Translations
            • List streak configuration translations
          • List streak configurations
          • Create streak configuration
          • Get streak configuration by ID
          • Update streak configuration
          • Publish streak configuration
        • StreakRules
          • Tags
            • List streak rule tag assignments
            • Create multiple streak rule tag assignments
            • Update multiple streak rule tag assignments
            • Delete multiple streak rule tag assignments
            • Get streak rule tag assignment
            • Create streak rule tag assignment
            • Update streak rule tag assignment
            • Delete streak rule tag assignment
          • Translations
            • List streak rule translations
          • Create streak rule
          • List streak rules
          • Get streak rule by ID
          • Update streak rule
          • Publish streak rule
        • Tags
          • Translations
            • List tag translations
          • Create tag
          • List all tags
          • Get tag by ID
          • Update tag
          • Publish tag
        • Users
          • Tags
            • List user tag assignments
            • Create multiple user tag assignments
            • Update multiple user tag assignments
            • Delete multiple user tag assignments
            • Get user tag assignment
            • Create user tag assignment
            • Update user tag assignment
            • Delete user tag assignment
          • Create user
          • List users
          • Get user by external ID
          • Get current user
          • Get user by ID
          • Get current user principal
          • Update user by ID
          • Delete (anonymise) user by ID
        • VirtualCurrencies
          • Translations
            • List streak rule translations
          • Create virtual currency
          • List virtual currencies
          • Get virtual currency
          • Update virtual currency
          • Publish virtual currency
        • VirtualTransactions
          • Create Virtual Transaction
        • WorkspaceConfiguration
          • Get workspace configuration
          • Update workspace configuration
          • Delete workspace configuration
          • Publish workspace configuration
  • Schemas
    • App Schemas
      • Schemas
      • CommunityMetricsResponse
      • GetCurrentUserTagResponse
      • GetCurrentUserStatsResponse
      • GetQuizTagResponse
      • GetQuizTranslationResponse
      • GetStoryTagResponse
      • GetLearningGroupTranslationResponse
      • GetStoryTranslationResponse
      • GetVirtualBalanceResponse
      • GetLearningPathAssignmentTagResponse
      • GetVirtualTransactionResponse
      • GetLearningPathAssignmentTranslationResponse
      • GetMissionResponse
      • ListCurrentUserTagAssignmentsResponse
      • ListMissionsResponse
      • GetRuntimeLeaderboardRankingsMeResponse
      • GetRuntimeLeaderboardRankingsResponse
      • ListStreaksResponse
      • ListVirtualBalancesResponse
      • GetSlideTagResponse
      • ListVirtualTransactionsResponse
      • GetSlideTranslationResponse
      • RedeemVirtualTransactionResponse
      • SubmitQuizResponse
      • SubmitStoryResponse
      • ListLearningPathAssignmentItemsResponse
      • ListLearningPathAssignmentTagsResponse
      • SubmitSlideResponse
      • UpdateCurrentUserResponse
    • Dashboard Schemas
      • Schemas
        • CreateActivityResponse
        • CreateVirtualTransactionResponse
        • GetMobilityActivationResponse
        • GetQuizResponse
        • GetStoryResponse
        • JsonLogicExpression
        • Lang
        • ListQuizTagAssignmentsResponse
        • ListQuizzesResponse
        • ListStoriesResponse
        • ListStoryTagAssignmentsResponse
        • SourceRegion
        • Timezone
        • UpdateMobilityActivationResponse
      • CreateActivityResponse
      • ActivityTranslation
      • CreateVirtualTransactionResponse
      • ActivityWithResolvedFields
      • GetCurrentUserPrincipalResponse
      • ContentAnalyticsResponse
      • GetCurrentUserResponse
      • CreateActivityTagAssignmentResponse
      • CreateActivityTagAssignmentsResponse
      • GetQuizResponse
      • CreateMissionConfigurationResponse
      • CreateMissionConfigurationTagAssignmentResponse
      • CreateLearningGroupResponse
      • CreateMissionConfigurationTagAssignmentsResponse
      • GetLearningGroupResponse
      • CreateLearningGroupTagAssignmentResponse
      • GetStoryResponse
      • CreateMissionResponse
      • GetLearningGroupTagAssignmentResponse
      • CreateLearningGroupTagAssignmentsResponse
      • CreateMissionRuleResponse
      • CreateLearningPathAssignmentResponse
      • CreateMissionRuleTagAssignmentResponse
      • GetLearningPathAssignmentResponse
      • CreateLearningPathResponse
      • CreateMissionRuleTagAssignmentsResponse
      • CreateLearningPathRuleResponse
      • CreateQuizResponse
      • CreateLearningPathTagAssignmentResponse
      • JsonLogicExpression
      • CreateQuizTagAssignmentResponse
      • GetLearningPathResponse
      • CreateLearningPathTagAssignmentsResponse
      • Lang
      • CreateQuizTagAssignmentsResponse
      • CreateMediaTagAssignmentResponse
      • CreateRewardRuleResponse
      • CreateMediaTagAssignmentsResponse
      • CreateStoryResponse
      • ListQuizTagAssignmentsResponse
      • CreateStoryTagAssignmentResponse
      • ListQuizzesResponse
      • CreateStoryTagAssignmentsResponse
      • ListStoriesResponse
      • CreateStreakConfigurationResponse
      • ListStoryTagAssignmentsResponse
      • CreateStreakConfigurationTagAssignmentResponse
      • GetRuntimeLeaderboardResponse
      • CreateStreakConfigurationTagAssignmentsResponse
      • GetSlideResponse
      • CreateStreakRuleResponse
      • CreateTagResponse
      • CreateMobilityActivationResponse
      • CreateUserResponse
      • SourceRegion
      • CreateVirtualCurrencyResponse
      • DeleteMissionConfigurationTagAssignmentResponse
      • Timezone
      • DeleteMissionConfigurationTagAssignmentsResponse
      • CreateRuntimeLeaderboardConfigurationRequest
      • DeleteMissionRuleTagAssignmentResponse
      • GetWorkspaceConfigurationResponse
      • CreateRuntimeLeaderboardConfigurationResponse
      • DeleteMissionRuleTagAssignmentsResponse
      • CreateRuntimeLeaderboardInstanceRequest
      • DeleteQuizTagAssignmentResponse
      • CreateRuntimeLeaderboardInstanceResponse
      • DeleteQuizTagAssignmentsResponse
      • CreateRuntimeLeaderboardResponse
      • DeleteStoryTagAssignmentResponse
      • ListLearningGroupItemsResponse
      • CreateSlideResponse
      • DeleteStoryTagAssignmentsResponse
      • ListLearningGroupsResponse
      • CreateSlideTagAssignmentResponse
      • DeleteStreakConfigurationTagAssignmentResponse
      • ListLearningGroupTagAssignmentsResponse
      • CreateSlideTagAssignmentsResponse
      • DeleteStreakConfigurationTagAssignmentsResponse
      • DeleteUserResponse
      • ListLearningPathAssignmentsResponse
      • GetActivityResponse
      • GetActivityTagAssignmentResponse
      • ListLearningPathsResponse
      • GetMissionConfigurationResponse
      • GetMissionConfigurationTagAssignmentResponse
      • GetMissionRuleResponse
      • GetMissionRuleTagAssignmentResponse
      • ListRuntimeLeaderboardsResponse
      • ListSlidesResponse
      • GetMobilityMilestoneResponse
      • ListSlideTagAssignmentsResponse
      • GetMotionTagStatusResponse
      • GetMotionTagTokenResponse
      • DeleteLearningGroupTagAssignmentResponse
      • DeleteLearningGroupTagAssignmentsResponse
      • GetQuizTagAssignmentResponse
      • DeleteLearningPathTagAssignmentResponse
      • GetRewardRuleResponse
      • DeleteLearningPathTagAssignmentsResponse
      • DeleteMediaResponse
      • GetStoryTagAssignmentResponse
      • DeleteMediaTagAssignmentResponse
      • GetStreakConfigurationResponse
      • DeleteMediaTagAssignmentsResponse
      • GetStreakConfigurationTagAssignmentResponse
      • GetStreakRuleResponse
      • GetStreakRuleTagAssignmentResponse
      • GetTagResponse
      • GetUserByExternalIdResponse
      • GetUserResponse
      • GetUserTagAssignmentResponse
      • DeleteSlideTagAssignmentResponse
      • GetVirtualCurrencyResponse
      • DeleteSlideTagAssignmentsResponse
      • ListActivitiesResponse
      • ListActivityTagAssignmentsResponse
      • ListActivityTranslationsResponse
      • ListMissionConfigurationsResponse
      • DeleteWorkspaceConfigurationResponse
      • ListMissionConfigurationTagAssignmentsResponse
      • EconomyAnalyticsResponse
      • ListMissionConfigurationTranslationsResponse
      • EngagementAnalyticsResponse
      • ListMissionRulesResponse
      • GamificationAnalyticsResponse
      • ListMissionRuleTagAssignmentsResponse
      • ListMissionRuleTranslationsResponse
      • ListMobilityMilestonesResponse
      • ListMobilityTrackingsResponse
      • ListQuizTranslationsResponse
      • ListRewardRulesResponse
      • GetLearningPathRuleResponse
      • GetLearningPathTagAssignmentResponse
      • ListStoryTranslationsResponse
      • GetMediaResponse
      • ListStreakConfigurationsResponse
      • GetMediaTagAssignmentResponse
      • ListStreakConfigurationTagAssignmentsResponse
      • ListStreakConfigurationTranslationsResponse
      • ListStreakRulesResponse
      • ListStreakRuleTranslationResponse
      • ListTagsResponse
      • ListUsersResponse
      • ListVirtualCurrenciesResponse
      • ListVirtualCurrencyTranslationResponse
      • PublishActivityResponse
      • PublishMissionConfigurationResponse
      • PublishMissionRuleResponse
      • GetRuntimeLeaderboardConfigurationResponse
      • PublishQuizResponse
      • PublishRewardRuleResponse
      • PublishStoryResponse
      • GetSlideTagAssignmentResponse
      • PublishStreakConfigurationResponse
      • PublishStreakRuleResponse
      • PublishTagResponse
      • PublishVirtualCurrencyResponse
      • RedeemMobilityMilestoneResponse
      • StreakRuleTagAssignmentsCollection
      • StreakRuleTagAssignmentsList
      • GetUploadUrlResponse
      • UpdateActivityResponse
      • UpdateActivityTagAssignmentResponse
      • UpdateActivityTagAssignmentsResponse
      • UpdatedStreakRuleTagAssignmentsCollection
      • UpdatedUserTagAssignmentsCollection
      • UpdateMissionConfigurationResponse
      • UpdateMissionConfigurationTagAssignmentResponse
      • LearningAnalyticsResponse
      • UpdateMissionConfigurationTagAssignmentsResponse
      • UpdateMissionRuleResponse
      • UpdateMissionRuleTagAssignmentResponse
      • UpdateMissionRuleTagAssignmentsResponse
      • UpdateQuizResponse
      • UpdateQuizTagAssignmentResponse
      • ListLearningGroupTranslationsResponse
      • UpdateQuizTagAssignmentsResponse
      • UpdateRewardRuleResponse
      • ListLearningPathItemsResponse
      • UpdateStoryResponse
      • ListLearningPathRulesResponse
      • UpdateStoryTagAssignmentResponse
      • UpdateStoryTagAssignmentsResponse
      • ListLearningPathTagAssignmentsResponse
      • UpdateStreakConfigurationResponse
      • ListLearningPathTranslationsResponse
      • UpdateStreakConfigurationTagAssignmentResponse
      • ListMediaResponse
      • UpdateStreakConfigurationTagAssignmentsResponse
      • ListMediaTagAssignmentsResponse
      • UpdateStreakRuleResponse
      • ListMediaTranslationsResponse
      • UpdateStreakRuleTagAssignmentResponse
      • UpdateTagResponse
      • UpdateUserTagAssignmentResponse
      • UpdateVirtualCurrencyResponse
      • UserTagAssignmentsCollection
      • UserTagAssignmentsList
      • ListMobilityActivationsResponse
      • ListRuntimeLeaderboardConfigurationsResponse
      • ListRuntimeLeaderboardConfigurationTranslationsResponse
      • ListSlideTranslationsResponse
      • ListTagTranslationsResponse
      • MediaTranslation
      • MediaWithResolvedFields
      • OverviewAnalyticsResponse
      • PublishLearningGroupResponse
      • PublishLearningPathResponse
      • PublishLearningPathRuleResponse
      • PublishSlideResponse
      • PublishWorkspaceConfigurationResponse
      • QuizAnalyticsResponse
      • UpdateLearningGroupResponse
      • UpdateLearningGroupTagAssignmentResponse
      • UpdateLearningGroupTagAssignmentsResponse
      • UpdateLearningPathResponse
      • UpdateLearningPathRuleResponse
      • UpdateLearningPathTagAssignmentResponse
      • UpdateLearningPathTagAssignmentsResponse
      • UpdateMediaResponse
      • UpdateMediaTagAssignmentResponse
      • UpdateMediaTagAssignmentsResponse
      • UpdateRuntimeLeaderboardConfigurationRequest
      • UpdateRuntimeLeaderboardConfigurationResponse
      • UpdateRuntimeLeaderboardResponse
      • UpdateSlideResponse
      • UpdateSlideTagAssignmentResponse
      • UpdateSlideTagAssignmentsResponse
      • UpdateUserResponse
      • UpdateWorkspaceConfigurationResponse
About
API Reference
API Reference
  • App API
  • Dashboard API
  • Overview
API Download
API Download
  • App API
  • Dashboard API
AWorld.orgAWorld Trust
About
API Reference
API Reference
  • App API
  • Dashboard API
  • Overview
API Download
API Download
  • App API
  • Dashboard API
AWorld.orgAWorld Trust
AWorld.org
  1. API Overview

Authentication

Overview#

AWorld uses AWS Cognito with a custom domain for authentication, implementing standard OAuth2 flows. The platform supports both user-centric authentication and machine-to-machine (M2M) authorization through client credentials.

Authentication Methods#

User Authentication (OAuth2)#

For user-centric applications, AWorld implements the standard OAuth2 authorization code flow:
1.
Authorization Request: The client redirects the user to the Cognito authorization endpoint
2.
User Authentication: The user authenticates with their credentials
3.
Authorization Code: Upon successful authentication, the authorization server redirects back with an authorization code
4.
Token Exchange: The client exchanges the authorization code for access and refresh tokens
5.
API Access: The client uses the access token to make authenticated API requests

Machine-to-Machine Authentication (Client Credentials)#

For M2M interactions, AWorld supports the OAuth2 client credentials flow:
1.
Token Request: The client makes a direct request to the token endpoint with client ID and secret
2.
Token Response: The authorization server returns access tokens
3.
API Access: The client uses the access token to make authenticated API requests

Token Types#

Access Token#

Used to access protected resources and APIs
JWT format containing claims about the authenticated user or client
Short-lived (typically 1 hour)
Must be included in API requests as a Bearer token in the Authorization header

Refresh Token#

Used to obtain new access tokens when they expire
Long-lived (typically 30 days)
Should be securely stored by the client
Cannot be used to access protected resources directly

ID Token#

Contains user identity information
JWT format
Used by the client application to verify the user's identity
Not intended for API authorization

Authentication Endpoints#

EndpointDescription
https://auth.aworld.cloud/oauth2/authorizeAuthorization endpoint for initiating OAuth2 flows
https://auth.aworld.cloud/oauth2/tokenToken endpoint for obtaining access tokens
https://auth.aworld.cloud/oauth2/userInfoUser info endpoint for obtaining user details

User Contexts and Access Levels#

Principal (Platform-level User)#

Principals have access across accounts and typically represent administrators or super-users.

User (Workspace-level User)#

Users are scoped to a specific workspace within an account, with permissions limited to their assigned workspace.

Integrating with AWorld Authentication#

Web Applications#

For web applications, we recommend using the authorization code flow with PKCE (Proof Key for Code Exchange):

Mobile Applications#

Mobile applications should also use the authorization code flow with PKCE, typically using a system browser or in-app browser tab.

Server-side Applications#

Server-side applications can use the client credentials flow to obtain access tokens without user interaction:
Note: The correct token endpoint for AWorld is https://auth.aworld.cloud/oauth2/token

Best Practices#

1.
Never expose client secrets in public-facing applications (use authorization code flow with PKCE instead)
2.
Always validate tokens before trusting their content
3.
Store refresh tokens securely to prevent unauthorized access
4.
Implement token renewal to handle token expiration
5.
Use HTTPS for all authentication-related requests
6.
Implement proper error handling for authentication failures
7.
Limit scope requests to only what your application needs
8.
Implement proper logout to clean up sessions and tokens

Common Issues and Troubleshooting#

Invalid Token#

If you receive an "Invalid token" error, the token may have expired or been tampered with. Request a new access token using your refresh token.

Invalid Grant#

This typically occurs when trying to use an authorization code more than once or when using an expired refresh token.

Unauthorized Client#

This error indicates that the client doesn't have permission to use the requested grant type or scopes.

Additional Resources#

OAuth 2.0 Specification
AWS Cognito Documentation
JWT.io - For debugging JSON Web Tokens
Modified at 2025-06-26 10:08:57
Previous
Workspaces
Next
Common Features
Built with