我有一个用 VB.NET 编写的带有 SQL Server 后端的旧 Windows 应用程序。目前,新用户的添加、删除、添加权限等由旧的审批工作流系统管理。获得批准后,将用户详细信息和权利手动插入到 SQL Server 数据库表中。
我正在尝试将此应用程序与SailPoint 的身份和访问管理集成。所以新用户的添加、删除更新和添加权限等都将通过Sailpoint来完成。为此,我需要创建一个可由 Sailpoint 调用的 WEB API 并公开功能(添加用户/删除用户/添加权利)。此 API 的唯一使用者是 SailPoint。
我是 OAuth 新手,以下是我遇到的授权类型。但不确定在这种特定情况下我应该使用哪一个。
1.Implicit Grant 2.Resource
Owner Password Credentials Grant
3.Client Credentials Grant
4.Authorization Code Grant
我已经研究了我们可以用来保护 web api 的不同身份验证方法。但是仍然对在这种情况下应用哪一个感到困惑,因为这个新的 web api 将在互联网上提供。我已经尝试使用OAuth 2.0和密码授权类型来开发 POC,参考这篇文章。但是当我在互联网上阅读文章时,我发现密码授予类型并不那么安全并且已被弃用。
您能否建议在这种情况下使用哪种授权类型(客户端凭据/授权代码/隐式)。我相信当用户直接尝试访问 API 时会使用授权码。在这种情况下,SailPoint 将在其 UI 中插入新用户时以编程方式在后端调用 API。