Skip to content

chore(deps): bump puma from 5.6.9 to 7.2.1 in /examples/ruby-api#750

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/examples/ruby-api/puma-7.2.1
Open

chore(deps): bump puma from 5.6.9 to 7.2.1 in /examples/ruby-api#750
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/bundler/examples/ruby-api/puma-7.2.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor

Bumps puma from 5.6.9 to 7.2.1.

Release notes

Sourced from puma's releases.

v7.2.1

  • Bugfixes
    • Limit and anchor PROXY protocol v1 parsing to prevent abuse via crafted inputs (#3947)
    • Parse PROXY protocol only once per connection to prevent injection on keep-alive requests (#3947)

Security advisories

v7.2.0 - On The Corner

  • Features

    • Add workers :auto (#3827)
    • Make it possible to restrict control server commands to stats (#3787)
  • Bugfixes

    • Don't break if WEB_CONCURRENCY is set to a blank string (#3837)
    • Don't share server between worker 0 and descendants on refork (#3602)
    • Fix phase check race condition in Puma::Cluster#check_workers (#3690)
    • Fix advertising of CLI config before config files are loaded (#3823)
  • Performance

    • 17% faster HTTP parsing through pre-interning env keys (#3825)
    • Implement dsize and dcompact functions for Puma::HttpParser, which makes Puma's C-extension GC-compactible (#3828)
  • Refactor

    • Remove NoMethodError rescue in Reactor#select_loop (#3831)
    • Various cleanups in the C extension (#3814)
    • Monomorphize handle_request return (#3802)
  • Docs

    • Change link to docs/deployment.md in README.md (#3848)
    • Fix formatting for each signal description in signals.md (#3813)
    • Update deployment and Kubernetes docs with Puma configuration tips (#3807)
    • Rename master to main (#3809, #3808, #3800)
    • Fix some minor typos in the docs (#3804)
    • Add GOVERNANCE.md, MAINTAINERS (#3826)
    • Remove Code Climate badge (#3820)
    • Add @​joshuay03 to the maintainer list
  • CI

v7.1.0

7.1.0 / 2025-10-16 - Neon Witch

neon_witch

  • Features

... (truncated)

Changelog

Sourced from puma's changelog.

7.2.1 / 2026-05-27

  • Bugfixes
    • Limit and anchor PROXY protocol v1 parsing to prevent abuse via crafted inputs (#3947)
    • Parse PROXY protocol only once per connection to prevent injection on keep-alive requests (#3947)

7.2.0 / 2026-01-20

  • Features

    • Add workers :auto (#3827)
    • Make it possible to restrict control server commands to stats (#3787)
  • Bugfixes

    • Don't break if WEB_CONCURRENCY is set to a blank string (#3837)
    • Don't share server between worker 0 and descendants on refork (#3602)
    • Fix phase check race condition in Puma::Cluster#check_workers (#3690)
    • Fix advertising of CLI config before config files are loaded (#3823)
  • Performance

    • 17% faster HTTP parsing through pre-interning env keys (#3825)
    • Implement dsize and dcompact functions for Puma::HttpParser, which makes Puma's C-extension GC-compactible (#3828)
  • Refactor

    • Remove NoMethodError rescue in Reactor#select_loop (#3831)
    • Various cleanups in the C extension (#3814)
    • Monomorphize handle_request return (#3802)
  • Docs

    • Change link to docs/deployment.md in README.md (#3848)
    • Fix formatting for each signal description in signals.md (#3813)
    • Update deployment and Kubernetes docs with Puma configuration tips (#3807)
    • Rename master to main (#3809, #3808, #3800)
    • Fix some minor typos in the docs (#3804)
    • Add GOVERNANCE.md, MAINTAINERS (#3826)
    • Remove Code Climate badge (#3820)
    • Add @​joshuay03 to the maintainer list
  • CI

7.1.0 / 2025-10-16

  • Features

    • Introduce after_worker_shutdown hook (#3707)
    • Reintroduce keepalive "fast inline" behavior. Provides faster (8x on JRuby & 1.4x on Ruby) pipeline processing (#3794)
  • Bugfixes

    • Skip reading zero bytes when request body is buffered (#3795)
    • Fix PUMA_LOG_CONFIG=1 logging twice with prune_bundler enabled (#3778)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [puma](https://github.com/puma/puma) from 5.6.9 to 7.2.1.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/main/History.md)
- [Commits](puma/puma@v5.6.9...v7.2.1)

---
updated-dependencies:
- dependency-name: puma
  dependency-version: 7.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies One or more dependencies are being bumped ruby Pull requests that update Ruby code labels Jun 9, 2026
@dependabot dependabot Bot requested a review from a team as a code owner June 9, 2026 00:31
@dependabot dependabot Bot added dependencies One or more dependencies are being bumped ruby Pull requests that update Ruby code labels Jun 9, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Skip to main content
Quickstarts
Native/Mobile App
Add Login to Your iOS or macOS Application using the Auth0.swift SDK

Use AI to integrate Auth0
If you use an AI coding assistant like Claude Code, Cursor, or GitHub Copilot, you can add Auth0 authentication automatically in minutes using agent skills.Install:

npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-swift

Then ask your AI assistant:

Add Auth0 authentication to my iOS app

Your AI assistant will automatically create your Auth0 application, fetch credentials, add the Auth0.swift SDK dependency, configure Auth0.plist, set up callback URLs, and implement login/logout flows. Full agent skills documentation →

Get Started
1

Create a new project
Create a new iOS or macOS project for this quickstart.In Xcode:

File → New → Project (or ⌘+Shift+N)
Select either:
    iOS tab → App template
    macOS tab → App template
Configure your project:
    Product Name: Auth0-Sample
    Interface: SwiftUI
    Language: Swift
    Use Core Data: Unchecked
    Include Tests: Checked (recommended)
Choose a location and click Create

This creates a standard app with SwiftUI and Swift Package Manager support, perfect for Auth0 integration.
2

Add the Auth0 SDK
Add the Auth0 SDK to your project using your preferred package manager.

Swift Package Manager
CocoaPods
Carthage

In Xcode:

File → Add Package Dependencies… (or ⌘+Shift+K)
Enter the Auth0 SDK URL:

https://github.com/auth0/Auth0.swift

Add Package → Select your app target → Add Package

3

Configure Auth0
Create a new Auth0 application and configure callback URLs.

Go to Auth0 Dashboard
Applications > Create Application > Name it, select Native > Create
In the Settings tab, note your Client ID and Domain
Add the following URLs to Allowed Callback URLs:

iOS
macOS

https://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback,
YOUR_BUNDLE_IDENTIFIER://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback

Add the following URLs to Allowed Logout URLs:

iOS
macOS

https://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback,
YOUR_BUNDLE_IDENTIFIER://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback

Click Save Changes

4

Configure App Credentials
Create Auth0.plist in your project directory:
Auth0.plist

ClientId YOUR_AUTH0_CLIENT_ID Domain {yourDomain}

Drag Auth0.plist into Xcode and ensure “Add to target” is checked.
5

Create the Authentication Service
Create AuthenticationService.swift to handle login, logout, and token storage.
Use CredentialsManager for token storage. The CredentialsManager class securely stores credentials in the Keychain and automatically refreshes expired access tokens. Always use it — do not store tokens in memory, UserDefaults, or localStorage.

Right-click your project → New File… → Swift File
Name it AuthenticationService
Replace contents with:

AuthenticationService.swift

import Foundation
import Auth0
import Combine

@mainactor
class AuthenticationService: ObservableObject {
@published var isAuthenticated = false
@published var user: User?
@published var isLoading = false
@published var errorMessage: String?

private let credentialsManager = CredentialsManager(authentication: Auth0.authentication())

init() {
    Task {
        await checkAuthenticationStatus()
    }
}

private func checkAuthenticationStatus() async {
    isLoading = true
    defer { isLoading = false }
    
    guard let credentials = try? await credentialsManager.credentials() else {
        isAuthenticated = false
        return
    }
    
    isAuthenticated = true
    // Get user info from the ID token
    user = credentials.user
}

func login() async {
    isLoading = true
    errorMessage = nil
    defer { isLoading = false }
    
    do {
        let credentials = try await Auth0
            .webAuth()
            .scope("openid profile email offline_access")
            .start()
        
        _ = credentialsManager.store(credentials: credentials)
        isAuthenticated = true
        // Get user info from the ID token
        user = credentials.user
    } catch {
        errorMessage = "Login failed: \(error.localizedDescription)"
    }
}

func logout() async {
    isLoading = true
    defer { isLoading = false }
    
    do {
        try await Auth0
          .webAuth()
          .clearSession()
        _ = credentialsManager.clear()
        isAuthenticated = false
        user = nil
    } catch {
        errorMessage = "Logout failed: \(error.localizedDescription)"
    }
}

}

6

Configure Authentication Flow (Optional)
To improve the user experience, you can minimize system alerts in the following ways:

Use Universal Links: This eliminates the ‘Open in “AppName”?’ prompt that appears during the redirect. Note: The ASWebAuthenticationSession permission alert will still appear.
Use Ephemeral Sessions: This eliminates all permission alerts. Note: This disables Single Sign-On (SSO) and shared cookies.

Skip this step to use the default behavior with a permission alert. You can configure this later.

Universal Links
Ephemeral Session

Auth0 Dashboard → Applications → Your app → Settings → Advanced Settings → Device Settings
Add Apple Team ID and bundle identifier → Save
Xcode: Target → Signing & Capabilities → + Capability → Associated Domains
Add: webcredentials:{yourDomain}

Requires: Paid Apple Developer account, iOS 17.4+/macOS 14.4+
Best for production apps.
8

Run your app
Press ⌘+R in Xcode.

Tap “Log In” → Permission alert (if using default) → Tap “Continue”
Complete login in browser
See your profile!

CheckpointYou now have a fully functional Auth0 login in your iOS or macOS app!

Troubleshooting & Advanced

Common Issues & Solutions

Custom Domain Configuration

Production Deployment

Advanced Integration

Was this page helpful?
Add Login to Your ASP.NET OWIN Application
Previous
Add Login to Your Android Application using the Auth0.Android SDK
Next
x-twitter
github
linkedin

Developers
Developer Hub
Code Samples & Guides
Zero Index Newsletter
Blog
Changelog

Docs
Documentation
Quickstarts
APIs
SDK Libraries
Learn
Intro to IAM (CIAM)
Reports
Webinars

Support Center
Community
Help
FAQs
Auth0

Company
Our Customers
Compliance
Partners
Careers
Okta + Auth0
About us
Add Login to Your iOS or macOS Application using the Auth0.swift SDK - Auth0 Docs
Assistant
Responses are generated using AI and may contain mistakes.
Auth0.swiftquickstart.In12https://github.com/auth0/Auth0.swift3Auth0.plist45http://www.apple.com/DTDs/PropertyList-1.0.dtdAuthenticationService.swiftcredentials.usercredentialsManager.store68ASP.NETAuth0.AndroidDocumentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Skip to main content

Quickstarts

Native/Mobile App

Add Login to Your iOS or macOS Application using the Auth0.swift SDK

Use AI to integrate Auth0

If you use an AI coding assistant like Claude Code, Cursor, or GitHub Copilot, you can add Auth0 authentication automatically in minutes using agent skills.Install:

npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-swift

Then ask your AI assistant:

Add Auth0 authentication to my iOS app

Your AI assistant will automatically create your Auth0 application, fetch credentials, add the Auth0.swift SDK dependency, configure Auth0.plist, set up callback URLs, and implement login/logout flows. Full agent skills documentation →

Get Started

1

Create a new project

Create a new iOS or macOS project for this quickstart.In Xcode:

File → New → Project (or ⌘+Shift+N)

Select either:

iOS tab → App template

macOS tab → App template

Configure your project:

Product Name: Auth0-Sample

Interface: SwiftUI

Language: Swift

Use Core Data: Unchecked

Include Tests: Checked (recommended)

Choose a location and click Create

This creates a standard app with SwiftUI and Swift Package Manager support, perfect for Auth0 integration.

2

Add the Auth0 SDK

Add the Auth0 SDK to your project using your preferred package manager.

Swift Package Manager

CocoaPods

Carthage

In Xcode:

File → Add Package Dependencies… (or ⌘+Shift+K)

Enter the Auth0 SDK URL:

https://github.com/auth0/Auth0.swift

Add Package → Select your app target → Add Package

3

Configure Auth0

Create a new Auth0 application and configure callback URLs.

Go to Auth0 Dashboard

Applications > Create Application > Name it, select Native > Create

In the Settings tab, note your Client ID and Domain

Add the following URLs to Allowed Callback URLs:

iOS

macOS

https://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback, YOUR_BUNDLE_IDENTIFIER://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback

Add the following URLs to Allowed Logout URLs:

iOS

macOS

https://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback, YOUR_BUNDLE_IDENTIFIER://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback

Click Save Changes

4

Configure App Credentials

Create Auth0.plist in your project directory:

Auth0.plist

ClientId YOUR_AUTH0_CLIENT_ID Domain {yourDomain}

Drag Auth0.plist into Xcode and ensure “Add to target” is checked.

5

Create the Authentication Service

Create AuthenticationService.swift to handle login, logout, and token storage.

Use CredentialsManager for token storage. The CredentialsManager class securely stores credentials in the Keychain and automatically refreshes expired access tokens. Always use it — do not store tokens in memory, UserDefaults, or localStorage.

Right-click your project → New File… → Swift File

Name it AuthenticationService

Replace contents with:

AuthenticationService.swift

import Foundation import Auth0 import Combine @mainactor class AuthenticationService: ObservableObject { @published var isAuthenticated = false @published var user: User? @published var isLoading = false @published var errorMessage: String? private let credentialsManager = CredentialsManager(authentication: Auth0.authentication()) init() { Task { await checkAuthenticationStatus() } } private func checkAuthenticationStatus() async { isLoading = true defer { isLoading = false } guard let credentials = try? await credentialsManager.credentials() else { isAuthenticated = false return } isAuthenticated = true // Get user info from the ID token user = credentials.user } func login() async { isLoading = true errorMessage = nil defer { isLoading = false } do { let credentials = try await Auth0 .webAuth() .scope("openid profile email offline_access") .start() _ = credentialsManager.store(credentials: credentials) isAuthenticated = true // Get user info from the ID token user = credentials.user } catch { errorMessage = "Login failed: (error.localizedDescription)" } } func logout() async { isLoading = true defer { isLoading = false } do { try await Auth0 .webAuth() .clearSession() _ = credentialsManager.clear() isAuthenticated = false user = nil } catch { errorMessage = "Logout failed: (error.localizedDescription)" } } }

6

Configure Authentication Flow (Optional)

To improve the user experience, you can minimize system alerts in the following ways:

Use Universal Links: This eliminates the ‘Open in “AppName”?’ prompt that appears during the redirect. Note: The ASWebAuthenticationSession permission alert will still appear.

Use Ephemeral Sessions: This eliminates all permission alerts. Note: This disables Single Sign-On (SSO) and shared cookies.

Skip this step to use the default behavior with a permission alert. You can configure this later.

Universal Links

Ephemeral Session

Auth0 Dashboard → Applications → Your app → Settings → Advanced Settings → Device Settings

Add Apple Team ID and bundle identifier → Save

Xcode: Target → Signing & Capabilities → + Capability → Associated Domains

Add: webcredentials:{yourDomain}

Requires: Paid Apple Developer account, iOS 17.4+/macOS 14.4+

Best for production apps.

8

Run your app

Press ⌘+R in Xcode.

Tap “Log In” → Permission alert (if using default) → Tap “Continue”

Complete login in browser

See your profile!

CheckpointYou now have a fully functional Auth0 login in your iOS or macOS app!

Troubleshooting & Advanced

Common Issues & Solutions

Custom Domain Configuration

Production Deployment

Advanced Integration

Was this page helpful?

Add Login to Your ASP.NET OWIN Application

Previous

Add Login to Your Android Application using the Auth0.Android SDK

Next

x-twittergithublinkedin

Developers

Developer HubCode Samples & GuidesZero Index NewsletterBlogChangelog

Docs

DocumentationQuickstartsAPIsSDK LibrariesLearnIntro to IAM (CIAM)ReportsWebinars

Support Center

CommunityHelpFAQsAuth0

Company

Our CustomersCompliancePartnersCareersOkta + Auth0About us

Add Login to Your iOS or macOS Application using the Auth0.swift SDK - Auth0 Docs

Assistant

Responses are generated using AI and may contain mistakes.

Run execute installC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies One or more dependencies are being bumped ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant