Appfarm Documentation
Getting startedDocumentationCommunityAppfarm Create
  • Overview
  • Getting Started
    • What is Appfarm?
    • Key concepts
    • Quickstart
      • Speed intro
      • Step-by-step guide
    • Appfarm Showroom
    • FAQ
  • Appcademy
    • Learning paths
    • Appfarm Fundamentals
      • Intro Course
        • 1. Intro to No-Code and Appfarm
        • 2. Navigation in Appfarm Create
        • 3. What is Apps?
        • 4. Intro to UI Editor
        • 5. Data Model
        • 6. App Data
        • 7. Actions
        • 8. Tips and Tricks
        • 9. Intro to practical walkthrough
        • 10. Create a details view of a Project
        • 11. Create a Custom List
        • 12. Swipe and Delete
        • 13. Functionality for simple Create of Data
        • 14. Upload and Download Photos
        • 15. Input Dialog with Validation and Save
        • 16. Dashboard
        • 17. Summary
        • Quiz
      • User Interface Fundamentals
        • Container - Sectioning, Styling and Repeating
        • Conditional Styles
        • Motions
        • Responsive Design
        • Step-by-step workflow
        • Featured UI Components
        • Quiz
      • App Data Fundamentals
        • Data Source Filtering
        • App Variables and Runtime Properties
        • URL Parameters
        • Quiz
      • Actions & Logic Fundamentals
        • Event Handlers
        • Featured Action Nodes
        • Context Parameters
        • Quiz
      • Services Fundamentals
        • Introduction to Services
        • Setting up a Service
        • Scheduling a Service
      • Integration Fundamentals
        • The web request action node
        • Fetch data from an endpoint
        • Map data to a data source
        • Modify the response
        • Nested data mapping
        • Path parameters
        • Authentication
        • Send data to an endpoint
        • Quiz
      • User handling and permissions
        • Users and roles
        • Permissions
        • Creating users
        • Extending the User object class
        • Updating and deleting users
        • Unauthenticated access
        • Quiz
    • Appfarm Professional
      • User Interfaces
        • Featured UI Components
        • Concepts and Use Cases
      • Data Structures & Data Handling
        • Data Features
        • Search & Filters
        • Featured Action Nodes
        • GraphQL
      • Logic & Flow
        • Logical Concepts
        • Date and Time Handling
        • Featured Action Nodes
        • Exception Handling
      • Login & Configuration
        • Login and Authentication
        • Settings, Configuration and Languages
      • Security & Operations
        • Security and Permissions
        • Deployment
        • Schedules and Logs
        • Debugging and App Health
      • Performance & Optimization
        • Optimizing Performance
        • Enhancing Functionality
    • Appfarm Sales Representative
    • Appfarm Developer Forum
      • Session 1: Data Modeling in Appfarm Create
      • Session 2: App Data in Appfarm Create
      • Session 3: Services in Appfarm Create
      • Session 4: Optimizing Performance
    • Background
      • Databases
        • Data modeling 101
        • Database normalization
  • Library
    • UI components
      • Advanced bar chart
      • Advanced bubble chart
      • Advanced combined chart
      • Advanced gantt chart
      • Advanced heatmap chart
      • Advanced line/area chart
      • Advanced pie chart
      • Advanced scatter plot chart
      • Advanced solid gauge chart
      • Animated component
      • Avatar
      • Avatar group
      • Basic bar chart
      • Basic gauge chart
      • Basic line chart
      • Basic pie chart
      • Bottom navigation
      • Button
      • Checkbox
      • Chip group
      • Circular progress
      • Coded component
      • Container
      • Date & time picker
      • Drawable canvas
      • Floating action button
      • Icon
      • Icon button
      • Iframe
      • Image
      • Linear progress
      • List
      • Map
      • Menu list
      • Multi select
      • PDF reader
      • Popover
      • Radio buttons
      • Rich text editor
      • Rich text
      • Select
      • Slider
      • Speed dial
      • Switch
      • Table
      • Tabs
      • Text
      • Text edit
      • View container
      • Visibility group
    • Action nodes
      • Aggregate data
      • Advanced search
      • Auth operations
      • Block
      • Catch exception
      • Copy to clipboard
      • Create file archive
      • Create file object
      • Create object
      • Create user account
      • Delete objects
      • Delete user account
      • Duplicate objects
      • End execution
      • Exit block
      • Exit loop
      • Export data
      • Foreach
      • Generate document
      • If
      • Import data
      • Invalidate cache
      • Log in
      • Log to console
      • Log out
      • Next iteration
      • Navigate
      • Open/close popover
      • Open confirm dialog
      • Open print dialog
      • Open snackbar
      • Open Unsplash dialog
      • Open URL
      • Persist objects
      • Push notifications
      • Read objects
      • Request permissions
      • Run code
      • Run other action
      • Run service
      • Scan barcode/QR code
      • Send email
      • Send SMS
      • Set client language
      • Set data source attributes
      • Set selection
      • Set theme
      • Set user account image
      • Show install app prompt
      • Sleep
      • Sort objects
      • Throw exception
      • Toggle drawer
      • Update object
      • Update secret
      • Update user account
      • Web request
      • While
  • Reference
    • Appfarm Create
      • Appfarm Commander
      • Blue dots
      • Copy & Paste
      • Farmer's Market
      • Find references
      • Find usage
      • Keyboard shortcuts
      • Undo/Redo
      • User preferences
    • Platform concepts
      • Conditions
      • Data bindings
      • Date and time
      • Event handlers
      • Filters
      • Functions
      • Markdown
      • Objects
      • Operators
      • Value processor
    • Dashboard
    • Apps
      • UI
        • Views
          • Dialog
          • Drawer
        • Layout designer
        • Component properties
        • Shareable UI components
      • Data
        • App variables
        • Data sources
        • Calendar data sources
      • Actions
      • App settings
      • App size
      • App health
    • Services
      • Service Endpoints
      • Service settings
      • Service health
      • API explorer
    • Data model
      • Object classes
      • Object class properties
      • Enumerated types
      • GraphQL
        • Queries
        • Mutations
      • Data Extract API
      • Time series data
    • Operations
      • Deploy
      • Schedules
      • Logs
    • Resources
      • Themes
      • Files
      • Fonts
      • Internationalization
    • Configuration
      • Environments
      • Login
        • Custom auth providers
    • Security
      • Users
      • Service accounts
      • Roles
      • Secrets
      • Permissions
        • Conditional Permissions
    • Appfarm Client
      • Developer tools for Apps
      • Developer tools for Services
      • Warnings and errors
  • How to
    • Data modeling
      • Many-to-many relationships
      • Use naming conventions
      • Offline data handling
      • Data silos and White labelling
    • User interface
      • Manage a many-to-many relationship with a Chip group
      • Configure drag and drop
      • Build a drag-and-drop calendar
      • Design a responsive layout
      • Work with flexbox
      • Use Mapbox as a map layer
      • Understand charts
    • Logic and flow
      • Event Log Design
      • Configure advanced search
    • Themes and styling
      • Change the active theme
      • Add custom email templates
    • Enhance your app
      • Add deep links
      • Add keyboard shortcuts
      • Add link previews for social media
      • Apply SEO best practices
      • Change the active language
      • Generate a PDF from a Container
    • Integrations
      • Integrate with external systems
      • Integrate with OpenAI
      • Integrate with Google Analytics (GA4)
      • Configure a custom email account
      • Integrate with a payment provider
      • Integrate with Signicat
      • Integrate directly with an external database
      • Retrieve a Bearer token from Google Cloud
      • Fetch data from BigQuery
      • Retrieve access token from Microsoft Entra ID
    • Workflow automation
      • Update an OAuth 2.0 access token from a service
    • Authentication and access control
      • Add users and assign roles
      • Configure unauthenticated access
      • Implement third-party authentication
    • Security, testing and deployment
      • Add a custom domain
      • Install an app on a device
      • Get ready for Production
      • Optimize performance
      • Security checklist
      • Test and debug
    • Example apps
      • Create an Instagram clone
        • The end result
        • Designing the feed
        • Create new post
        • Add a like-button
        • Add comment-functionality
  • Solution administration
    • Subscription and billing
    • Dedicated tier benefits
    • Guide to GDPR
      • Key principles
      • How Appfarm protects personal data
      • How you can protect your clients’ data
      • Glossary
    • Appfarm and the EU AI Act
  • Policies
    • Appfarm Policies
    • Data Processors
    • Privacy Policy
Powered by GitBook
On this page
  • Authentication using Auth0
  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • Step 5
  • Testing
  • Authentication using Criipto
  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • Step 5
  • Testing
  • Authentication using Microsoft Entra ID (Azure AD)
  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • Step 5
  • Step 6
  • Step 7
  • Authentication using Azure AD B2C
  • Step 1 - Step 3
  • Step 4
  • Step 5
  • Step 6

Was this helpful?

Export as PDF
  1. How to
  2. Authentication and access control

Implement third-party authentication

PreviousConfigure unauthenticated accessNextSecurity, testing and deployment

Last updated 11 months ago

Was this helpful?

Authentication using Auth0

This guide will describe how to set up user authentication using the third-party authentication service provider Auth0. Be aware that this only shows how to connect Appfarm to Auth0, and you need to set up an authentication provider from Auth0 yourselves.

Step 1

Go to and create an account. Sign into Auth0.

Step 2

Go to Applications -> Applications and click the Create Application button. Give the application an appropriate name, select the option "Regular Web Applications" and click Create.

When the application is created, make sure to copy the value of Domain, Client ID, and Client Secret to your notepad, as we will need these later. Scroll down to Allowed Callback URLs and type in .

Click Save Changes.

Step 3

In Appfarm Create, go to Secrets and add a new secret. Give it a name, and paste the Client Secret you copied to your notepad into the Value input field. The Secret Type should be String.

Step 4

Go to Login Configs -> Custom Auth Providers and click the plus button to add a new Auth provider. Set the following options:

  • Name: Give the auth provider an appropriate name. E.g. "Auth0".

  • Provider: Set this to Auth0.

  • Client ID: Paste the Client ID you copied to your notepad.

  • Client Secret: Select the secret you created for the Client Secret.

  • Tenant ID: Paste the Domain you copied to your notepad.

Step 5

Go to Login Configs -> Login Config, and under Custom Auth add a new Auth Provider. Give it an appropriate name, and set the Provider to the Auth provider you created on Step 4.

Testing

Google login should be enabled by default, so you might test the authentication using your Google account.

Authentication using Criipto

This guide will describe how to set up user authentication using the third-party authentication service provider Criipto. Authentication with BankID will be used as an example, but a similar setup might be used to set authentication with the other authentication services Criipto offers. Please note that Criipto is totally independent of Appfarm, and has its own pricing for its services.

Step 1

Step 2

Inside Criipto Verify, go to Applications and create a new application. Fill in/select the following options:

  • Name: Give the application an appropriate name

  • Select e-IDs: Select the provider you want, e.g. "NO BankID"

  • OpenID Connect: Enable OAuth2 Code Flow, and set User info response strategy to plainJson

Make sure to copy the value of Client ID/Realm and Available on domain to your notepad, as we will need these later.

Click the Save-button. A dialog box will pop up with your client secret. Make sure to copy the secret to your clipboard, as this value only will be available once (it can only be re-generated). You should also

Step 3

In Appfarm Create, go to Secrets and add a new secret. Give it a name, and paste the Client Secret into the Value input field. The Secret Type should be String.

Step 4

Go to Login Configs -> Custom Auth Providers and click the plus button to add a new Auth provider. Set the following options:

  • Name: Give the auth provider an appropriate name. E.g. "Criipto BankID".

  • Provider: Set this to Custom.

  • Client ID: Paste the Client ID/Realm you copied to your notepad.

  • Client Secret: Select the secret you created for the Client Secret.

    • Domain name (yourdomain.criipto.id), which points to your Criipto application. It should be the Available on domain link you copied to your notepad

Step 5

Go to Login Configs -> Login Config, and under Custom Auth add a new Auth Provider. Give it an appropriate name, and set the Provider to the Auth provider you created on Step 4.

Testing

Authentication using Microsoft Entra ID (Azure AD)

Follow these steps to configure user authentication with Microsoft Entra ID (Azure AD).

Step 1

Step 2

Register an application.

  • Go to Microsoft Entra ID.

  • Click Add -> App registration.

  • In the Name field, enter a display name, for example appfarm-auth.

  • Under Redirect URI, select Web and enter the URI https://accounts.appfarm.io/v1/callback.

  • Click Register.

Step 3

Generate and record credentials.

  • Go to Certificates & secrets.

  • Click New client secret.

  • Enter the required details and click Add.

  • Note down the generated client secret Value. This secret is required later in this process.

  • Go to Overview.

  • Note down the Application (client) ID and Directory (tenant) ID values.

Step 4

So that Appfarm has enough information to create the user’s account, you must configure Microsoft Entra ID to provide at least one optional claim – the user's email address. You may also wish to add more.

  • Go to Token configuration.

  • Click Add optional claim.

  • Under Token type, select ID.

  • Click Add.

  • A dialog will appear. Select Turn on the Microsoft Graph email, profile permission, and click Add.

Step 5

  • Click Create Secret.

  • In the Name field, enter a name for the client secret, for example Microsoft Entra ID Client Secret.

  • In the Value field, enter the client secret you noted down in Step 3.

  • Click Create.

Step 6

  • Go to Login -> Custom Auth Providers.

  • Click the + button to add a new provider.

  • In the Name field, enter a name for the auth provider, for example Microsoft Entra ID.

  • In the Provider field, select Microsoft Entra ID (Azure AD).

  • In the Client ID field, enter the Application (client) ID you noted down in Step 3.

  • In the Client Secret field, select the secret you created in Step 5.

  • In the Tenant ID field, enter the Directory (tenant) ID you noted down in Step 3.

The above configuration will allow users with an existing Appfarm user to log in using Microsoft Entra ID. If you also want new users without an existing Appfarm user to be able to log in, you need to configure that under Appfarm Account Options.

  • Select the Auto Create Account checkbox.

Step 7

  • Go to Login -> Login Config.

  • Select a login configuration to add the custom auth provider.

  • Under Custom Auth, click the + button to add a new provider.

  • In the Name field, enter a name for the auth provider, for example Microsoft Entra ID.

  • In the Provider field, select the provider you created in Step 6.

Authentication using Azure AD B2C

Azure AD B2C is a separate service from Microsoft Entra ID (Azure AD) and requires a different setup in Appfarm Create.

Step 1 - Step 3

Step 4

Step 5

Go to Login Configs -> Custom Auth Providers and click the plus button to add a new Auth provider. Set the following options:

  • Name: Give the auth provider an appropriate name. E.g. "Azure AD B2C".

  • Provider: Set this to Custom.

  • Client ID: Paste the Client ID you copied to your notepad.

  • Client Secret: Select the secret you created for the Client Secret.

Step 6

Go to Login Configs -> Login Config, and under Custom Auth add a new Auth Provider. Give it an appropriate name, and set the Provider to the Auth provider you created in Step 4.

Go to and create an account. Sign into Criipto Verify.

Callback URLs: Type

OpenID Discovery Endpoint: Paste the .well-known link of the connection you want. The syntax looks like this: . The link has two variables:

acr_values (BASE64(acr_values)), which defines which login you'd like to setup. It should be a BASE64 encoded string based on the acr_values . For BankID, the string is dXJuOmdybjphdXRobjpubzpiYW5raWQ=.

To test the login, you can create a test user by following

Sign in to the Microsoft Azure using an account with administrator permission.

In the list that appears, select email. This claim is required for the authentication to function. We also recommended adding family_name and given_name to complete the .

Now, you can start configuring the authentication in Appfarm Create. First, add the client secret as a .

In , go to Secrets.

Add a new .

In the Initial Roles list, select the the user should be assigned on creation.

Add the custom auth provider to your configuration.

Users should now be able to log in to the using their Microsoft Entra ID credentials.

Follow the same steps as described in However, instead of using the Microsoft Entra ID service, you need to use Azure AD B2C.

In the Azure AD B2C Directory, you need to create the user flow with . In the custom policies, it is important to include email (string) as a claim.

Open ID Discovery Endpoint: Paste OpenID Connect metadata endpoint ID for your B2C tenant. This can be found in your B2C tenant at the Azure Portal, and looks like this:

https://auth0.com/
https://accounts.appfarm.io/v1/callback
https://criipto.com/
https://accounts.appfarm.io/v1/callback
https://yourdomain.criipto.id/BASE64(acr_values)/.well-known/openid-configuration
required by Criipto for each login
this article from Criipto.
portal
Appfarm User object
secret
Appfarm Create
custom auth provider
role(s)
login
Appfarm client
custom policies
https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/v2.0/.well-known/openid-configuration
Authentication using Microsoft Entra ID (Azure AD).
Screenshot from the Microsoft Azure portal showing the recommended optional claims added.