You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SailPoint Identity Secure Cloud (ISC) is an enterprise SaaS platform for identity and security. In order to use this OAuth integration, you will need an ISC tenant. If you're a SailPoint customer or partner, please talk to your SailPoint account manager for more details. If you are a developer, you can check out the [SailPoint Developer Community](https://developer.sailpoint.com/discuss/).
8
+
SailPoint Identity Secure Cloud (ISC) is an enterprise SaaS platform for identity and security. In order to use this OAuth integration, you will need an ISC tenant. If you're a SailPoint customer or partner, please talk to your SailPoint account manager for more details. If you are a developer, check out the [SailPoint Developer Community](https://developer.sailpoint.com/discuss/).
9
+
10
+
<Callout>
11
+
This provider is not shipped with any of the Auth.js packages because it is an
12
+
enterprise provider for which we cannot obtain a tenant to test and ensure
13
+
compatibility. That being said, we'd like to make providers like these
14
+
available to our users, so we will share a copy and paste version of the
15
+
provider on respective docs pages like this. The provider configuration below
16
+
is provided as-is and has been submitted by a community member with access to
17
+
a SailPoint tenant.
18
+
</Callout>
9
19
10
20
## Resources
11
21
@@ -21,34 +31,48 @@ SailPoint Identity Secure Cloud (ISC) is an enterprise SaaS platform for identit
Find your Identity Secure Cloud Tenant OAuth Information which can be found at `https://{tenant}.api.identitynow.com/oauth/info`. Create an OAuth Client (following this [guide](https://documentation.sailpoint.com/saas/help/common/api_keys.html?h=oauth+client#creating-an-api-key)) with grant types: `AUTHORIZATION_TOKEN` and `REFRESH_TOKEN`. Redirect URL should match your version of the Callback URL above. Finally, select the scopes `sp:scope:all`. Note down the generated `clientId` and `clientSecret`.
56
+
First, you'll need to create a client in your SailPoint admin console in order to get your `clientId` and `clientSecret`. You can follow this [guide](https://documentation.sailpoint.com/saas/help/common/api_keys.html?h=oauth+client#creating-an-api-key), or follow the main steps below.
57
+
58
+
1. Create an OAuth Client () with grant types: `AUTHORIZATION_TOKEN` and `REFRESH_TOKEN`.
59
+
2. Set the redirect URL to match your callback URL, based on the example above.
60
+
3. Finally, select the scopes `sp:scope:all`.
61
+
4. Click "**Create**" and note down the generated `clientId` and `clientSecret`.
Unlike other Auth.js providers, this cannot be imported from the package (see the note at the top of this page for more details). However, you can copy and paste the following object into your `providers` array to enable this provider.
75
+
52
76
<Code>
53
77
<Code.Next>
54
78
@@ -58,26 +82,26 @@ import NextAuth from "next-auth"
Your `userprofile` endpoint will return more fields, but by default the [User table](https://authjs.dev/getting-started/database#models) only supports `id`, `name`, `email`, and `image`. Therefore, if you'd like to use any of the following fields, make sure you modify the `User` table schema in whichever adapter / database you're using.
185
+
### Profile
186
+
187
+
The SailPoint `userprofile` endpoint will return more fields, but by default the [User table](/getting-started/database#models) only supports `id`, `name`, `email`, and `image`. Therefore, if you'd like to use any of the following fields and you're using a database adapter with Auth.js, make sure you modify the `User` table schema in whichever adapter and database you're using. Then you can additionally return any of these fields from the `profile` callback above.
188
+
189
+
The available fields from the SailPoint `userprofile` endpoint response include the following.
157
190
158
191
```ts
159
-
tenant: profile.tenant,
160
-
id: profile.id,
161
-
uid: profile.uid,
162
-
email: profile.email,
163
-
phone: profile.phone,
164
-
workPhone: profile.workPhone,
165
-
firstname: profile.firstname,
166
-
lastname: profile.lastname,
167
-
capabilities: profile.capabilities,
168
-
displayName: profile.displayName,
169
-
name: profile.uid
192
+
typeSailPointProfile= {
193
+
tenant:string
194
+
id:string
195
+
uid:string
196
+
email:string
197
+
phone:string
198
+
workPhone:string
199
+
firstname:string
200
+
lastname:string
201
+
capabilities:string
202
+
displayName:string
203
+
name:string
204
+
}
170
205
```
171
-
172
-
The above fields will all be available in the `profile` callback.
0 commit comments