next-auth icon indicating copy to clipboard operation
next-auth copied to clipboard

feat(provider): SailPoint Identity Secure Cloud (ISC)

Open mike818148 opened this issue 1 year ago โ€ข 11 comments

โ˜•๏ธ Reasoning

A new oauth provider for SailPoint Identity Secure Cloud (ISC). Developers then can utilize SailPoint Identity Secure Cloud (ISC) to authenticate the custom authentication based on OAuth2 standard.

๐Ÿงข Checklist

  • [x] Documentation
  • [x] Tests
  • [x] Ready to be merged

๐ŸŽซ Affected issues

๐Ÿ“Œ Resources

mike818148 avatar Apr 25 '24 04:04 mike818148

The latest updates on your projects. Learn more about Vercel for Git โ†—๏ธŽ

Name Status Preview Comments Updated (UTC)
auth-docs โœ… Ready (Inspect) Visit Preview ๐Ÿ’ฌ Add feedback May 10, 2024 1:18pm
1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
next-auth-docs โฌœ๏ธ Ignored (Inspect) Visit Preview May 10, 2024 1:18pm

vercel[bot] avatar Apr 25 '24 04:04 vercel[bot]

Hello,

please let me know should I also prepare a test environment for you to conduct some testing, understand it will be hard to allocate a SailPoint IdentityNow tenant for you to test directly. By providing this provider, I believe it will bring some value to the SailPoint Developer community, especially for React developers.

on my side, I already finished some testings on my side.

mike818148 avatar Apr 29 '24 21:04 mike818148

@mike818148 is attempting to deploy a commit to the authjs Team on Vercel.

A member of the Team first needs to authorize it.

vercel[bot] avatar Apr 29 '24 21:04 vercel[bot]

@mike818148 thanks for the interest in the project.

So if I understand correctly, SailPoint is an enterprise identity/security platform? So a random developer like me wouldn't be able to get OAuth Client credentials probably, right?

ndom91 avatar Apr 30 '24 17:04 ndom91

In the mean time, you could also add a docs page at /docs/pages/getting-started/providers/sailpoint.mdx. You can copy the structure of any of the other providers, like Netlify.mdx for example, and just fill in the info yuo've got in the JSDoc of your provider already :pray:

ndom91 avatar Apr 30 '24 17:04 ndom91

@mike818148 thanks for the interest in the project.

So if I understand correctly, SailPoint is an enterprise identity/security platform? So a random developer like me wouldn't be able to get OAuth Client credentials probably, right?

Hello @ndom91,

this is correct, SailPoint Identity Secure Cloud(ISC) is an enterprise SaaS platform for identity/security solution. At the moment, random developer may not get an OAuth Client credentials (from a certain tenant) as easy as other OAuth provider, however, I believe this statement is also changing. As per my understanding, SailPoint already have a open developer community which welcome public to join, and it also has a opensource project , and as an active developer community member, there is a way to requst a ISC tenant for demo/developing.

mike818148 avatar Apr 30 '24 17:04 mike818148

Hello @ndom91,

this is correct, SailPoint Identity Secure Cloud(ISC) is an enterprise SaaS platform for identity/security solution. At the moment, random developer may not get an OAuth Client credentials (from a certain tenant) as easy as other OAuth provider, however, I believe this statement is also changing. As per my understanding, SailPoint already have a open developer community which welcome public to join, and it also has a opensource project , and as an active developer community member, there is a way to requst a ISC tenant for demo/developing.

Oh okay I see. If you could request a demo tenant for this so we can continuously test it etc. that'd be amazing ๐Ÿ™

If it goes through, you can DM it to me on our discord for example (@ndom91)

ndom91 avatar Apr 30 '24 17:04 ndom91

Hello @ndom91, this is correct, SailPoint Identity Secure Cloud(ISC) is an enterprise SaaS platform for identity/security solution. At the moment, random developer may not get an OAuth Client credentials (from a certain tenant) as easy as other OAuth provider, however, I believe this statement is also changing. As per my understanding, SailPoint already have a open developer community which welcome public to join, and it also has a opensource project , and as an active developer community member, there is a way to requst a ISC tenant for demo/developing.

Oh okay I see. If you could request a demo tenant for this so we can continuously test it etc. that'd be amazing ๐Ÿ™

If it goes through, you can DM it to me on our discord for example (@ndom91)

thanks a lot. I already have a tenant, would it be okai, we use this tenant for testing, if yes, I just need your email to register on the tenant. This tenant only contains mock-up data. I will then also share the guide regarding OAuth client setup with you (just to show you where to find it)

mike818148 avatar Apr 30 '24 17:04 mike818148

mdx

Hello @ndom91,

just add the file sailpoint.mdx, question here: for the environement variables not sure does this AUTH_[Provider]_* will also work in my case, may you express more on this, how this is working? Otherwise, I will just document to pass the value directly.

To be honested, I only test this code with NextJS, not yet on other frameworks (Svelte and Express)

In addition, I am preparing a blog for the use cases, once published, will update the sailpoint.mdx with corresponding link.

Thanks and Regards,

mike818148 avatar May 02 '24 08:05 mike818148

@mike818148 thanks a lot for converting this to the "just" documentation page version we talked about!

Regarding your question about the environment variables - no, the environment variable auto detection won't work in this case, folks will have to manually pass it. The way you're doing it is fine :+1:

In addition, you asked about referencing your image on discord. You can change it to point to /img/providers/sailpoint.svg already (see line 4 in your mdx file, for example). This will obviously not work in the preview deploy, but as soon as its merged this will work :ok_hand:

Also when the user manually has to pass the env var, they'll be forced to do it in the framework-specific manner (i.e. importing from $env/* in sveltekit), and therefore just pasting in that object as a custom provider should be comaptible with all framework versions of Auth.js

ndom91 avatar May 06 '24 12:05 ndom91

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 37.78%. Comparing base (86e354d) to head (16e0237).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10723      +/-   ##
==========================================
+ Coverage   37.48%   37.78%   +0.30%     
==========================================
  Files         173      173              
  Lines       27026    27026              
  Branches     1174     1180       +6     
==========================================
+ Hits        10131    10213      +82     
+ Misses      16895    16813      -82     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar May 10 '24 13:05 codecov[bot]