Docs Menu

Application Services - Swift SDK

On this page

  • Overview
  • The Realm App Client
  • Authentication & User Management
  • Calling Functions
  • Accessing MongoDB

MongoDB Realm provides SDKs that help you connect your client apps to the Realm backend. The SDK provides the MongoDB Realm functionality needed to authenticate users with any of the built-in Authentication providers, call backend functions, and directly access a MongoDB database.

When using the SDK to access the Realm backend, you start with a Realm App object. This object provides all other functionality related to MongoDB Realm. The App object is initialized with the Realm app ID, which you can find in the Realm UI.


To learn how to initialize the Realm App client, see Connect to a MongoDB Realm Backend App - Swift SDK.

One of the most challenging aspects of client development is implementing a robust and secure authentication system. With the Realm SDKs, however, you can use any of the MongoDB Realm authentication providers with very minimal backend setup or client-side code required. With the authentication APIs, you can implement the following functionality:

  • Creation of new user accounts
  • User log-in and log-out
  • Multiple users logged on at the same time on the same device
  • Linking user accounts from different providers
  • Providing custom user data

To learn how to set up authentication with different providers, see Authenticate Users - Swift SDK.

To learn how to manage multiple users, see Multi-User Applications - Swift SDK.

To learn how to link user accounts, see Link User Identities - Swift SDK.

To learn how to provide custom user data, see Custom User Data - Swift SDK.

Realm functions enable you to define and execute server-side logic for your application. You can call these functions from your client applications via the MongoDB Realm SDKs. These server-side functions can run under the context of the authenticated user, and thus honor the rules, roles, and permissions that you have assigned to your collections.

By using Realm functions, you provide a secure way for a variety of client applications to share complex functionality without having to reproduce that logic client-side.


To learn how to call functions, see Call a Function.

The Realm SDKs include APIs for accessing a MongoDB Atlas instance directly. With these APIs, you can perform all of the standard CRUD operations from your client. For security, you configure server-side data access rules to dynamically determine read & write permissions for every object that is accessed.


To learn how to use the MongoDB APIs, see Query MongoDB.

Give Feedback
MongoDB logo
© 2021 MongoDB, Inc.


  • Careers
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2021 MongoDB, Inc.