Set up SSO for a customer
Say "set up SSO for a customer" and their IT admin gets a setup link; their people sign in through it once a test passes.
A larger customer's IT team wants its people to sign in through its own identity provider. Their admin gets a setup link, and the SSO Connection turns on once a test sign-in passes.
Needs Let customers sign in
What you get
- 1setup link sent to the customer’s IT adminTenant
- 1single sign-on connection, on once a test sign-in passesSSO Connection
Your agent does
You, to your agent
Set up SSO with Okta for Harbor Properties.
Their IT team wants single sign-on through Okta.
Set up SAML for a customer.
# 1. Tenant.requestSetup
curl -X POST https: //api.sb/ leaseline.app/ tenants/ tenant_harbor/ requestSetup \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"admin": "person_maria", "intent": "sso"}'
# 2. SSOConnection.activate
curl -X POST https: //api.sb/ leaseline.app/ sso-connections/ sso_harbor/ activate \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'
await $.Tenant.requestSetup({ tenant: 'tenant_harbor', admin: 'person_maria', intent: 'sso' })
await $.SSOConnection.activate({ connection: 'sso_harbor' })
npx startup-builder do Tenant.requestSetup --json '{"tenant": "tenant_harbor", "admin": "person_maria", "intent": "sso"}'
npx startup-builder do SSOConnection.activate --json '{"connection": "sso_harbor"}'
{
"name": "do",
"arguments": {
"code": "await $.Tenant.requestSetup({ tenant: 'tenant_harbor', admin: 'person_maria', intent: 'sso' })\nreturn await $.SSOConnection.activate({ connection: 'sso_harbor' })"
}
}
Change it
- Sync their directory too.
- Require it for every Harbor member.
Under the hood
- Systems
- Customer access
- Nouns
- Tenant, SSO Connection
- Events
Tenant.setupRequested,SSOConnection.activated