Update 2FA Organization Requirement Component
PropelAuth's Update 2FA Organization Requirement component allows you to customize the flow around an organization admin enabling 2FA for their organization. Check out the documentation here for more information.
Update 2FA Organization Requirement
Not sure how to use this component? Check out the Using the Documentation page.
Reference APIs
These are the APIs that are used by the above component. You can use these APIs directly in your own code.
fetchOrgSettings
Arguments
- Name
org_id
*- Type
- string
- Description
- The ID of the org.
Success Response
- Name
org_name
- Type
- string
- Description
- The name of the organization.
- Name
user_can_edit_org_access
- Type
- boolean
- Description
- Returns true if the user has the necessary permissions to update the org settings.
- Name
user_can_update_metadata
- Type
- boolean
- Description
- Returns true if the user has the necessary permissions to update the org metadata.
- Name
autojoin_by_domain
- Type
- boolean
- Description
- If a domain is set for the org, new users can join the org if their domain matches the org's domain.
- Name
restrict_to_domain
- Type
- boolean
- Description
- If a domain is set for the org, only allow users with that domain to join.
- Name
require_2fa_by
- Type
- string | null
- Description
- The date by which 2FA is required for the org. If null, 2FA is not required.
- Name
existing_domain
- Type
- string | null
- Description
- The org's current domain, if one is set.
- Name
current_user_domain
- Type
- string
- Description
- The domain of the current user.
- Name
current_user_domain_is_personal
- Type
- boolean
- Description
- Returns true if the current user's domain is personal (e.g. gmail.com).
- Name
can_setup_saml
- Type
- boolean
- Description
- Returns true if the org can set up SAML.
- Name
is_saml_enabled
- Type
- boolean
- Description
- Returns true if the org has SAML enabled.
- Name
is_saml_in_test_mode
- Type
- boolean
- Description
- Returns true if the org has SAML in test mode.
- Name
can_setup_scim
- Type
- boolean
- Description
- Returns true if the org can set up SCIM.
- Name
is_scim_enabled
- Type
- boolean
- Description
- Returns true if the org can set has SCIM enabled.
Response Functions
The response object has a handle function that you can use to handle the response. These functions can be async, and you can return values from them.
- Name
success
- Description
- Successful request.
- Name
orgsNotEnabled
- Description
- Orgs are not enabled in the PropelAuth dashboard.
- Name
orgNotFound
- Description
- The provided organization was not found.
- Name
forbidden
- Description
- The user does not have permission to view the organization settings.
- Name
unauthorized
- Description
- The user is not logged in.
- Name
unexpectedOrUnhandled
- Description
- An unexpected error occurred.
Request
const { fetchOrgSettings } = useAuthFrontendApis()
const response = await fetchOrgSettings('1189c444-8a2d-4c41-8b4b-ae43ce79a492')
await response.handle({
success: (data) => {
console.log(data)
},
orgsNotEnabled() {
console.log('Organizations are not enabled.')
},
orgNotFound() {
console.log('Organization not found.')
},
forbidden() {
console.log("You do not have permission to view this organization's settings.")
},
unexpectedOrUnhandled() {
console.log('An unexpected error occurred.')
},
})
Successful Response
{
"user_can_update_metadata": true,
"user_can_edit_org_access": true,
"org_name": "Acme Inc",
"autojoin_by_domain": true,
"restrict_to_domain": true,
"existing_domain": "acmeinc.com",
"current_user_domain": "acmeinc.com",
"current_user_domain_is_personal": false,
"require_2fa_by": "1732645813",
"can_setup_saml": true,
"is_saml_enabled": false,
"is_saml_in_test_mode": false,
"can_setup_scim": false,
"is_scim_enabled": false
}
updateOrgSettings
Arguments
- Name
org_id
*- Type
- string
- Description
- The ID of the org to be updated.
- Name
name
- Type
- string
- Description
- The new name of the org.
- Name
allow_users_to_join_by_domain
- Type
- boolean
- Description
- If a domain is set for the org, new users can join the org if their domain matches the org's domain.
- Name
restrict_invites_by_domain
- Type
- boolean
- Description
- If a domain is set for the org, only allow users with that domain to join.
- Name
require_2fa_by
- Type
- date
- Description
- If requiring 2FA for an org, the date you want to enforce it by.
Response Functions
The response object has a handle function that you can use to handle the response. These functions can be async, and you can return values from them.
- Name
success
- Description
- Successful request.
- Name
orgsNotEnabled
- Description
- Organizations are not enabled in this project.
- Name
orgNotFound
- Description
- The provided orgId was not found
- Name
forbidden
- Description
- The user does not have permission to edit the org.
- Name
badRequest
- Description
- Incorrect arguments given.
- Name
unauthorized
- Description
- The user is not logged in.
- Name
unexpectedOrUnhandled
- Description
- An unexpected error occurred.
Request
const { updateOrgSettings } = useAuthFrontendApis()
const response = await updateOrgSettings({
org_id: '1189c444-8a2d-4c41-8b4b-ae43ce79a492',
name: 'Acme Inc',
allow_users_to_join_by_domain: true,
restrict_invites_by_domain: true,
require_2fa_by: '2025-01-16T00:00:00.000Z',
})
response.handle({
success() {
console.log('Updated org settings successfully.')
},
badRequest(error) {
for (const [field, fieldErrorMessage] of Object.entries(error.user_facing_errors)) {
console.log('Error: "' + fieldErrorMessage + '" for field: "' + field + '"')
}
},
orgsNotEnabled(error) {
console.log('Org not enabled', error)
},
orgNotFound(error) {
console.log('Org not found', error)
},
forbidden(error) {
console.log('Forbidden', error)
},
unexpectedOrUnhandled(error) {
console.log('Unexpected or unhandled error', error)
},
})
Successful Response
{}