是否可以使用 Smartsheet 的 API 在 Web 上登录 Smartsheet。我正在考虑创建一个使用 API 登录的基于表单的身份验证。有没有人做过这样的事情?或者这甚至可以通过 API 生成的令牌实现。我的目标是在不使用 SAML 的情况下实现基于 Web 的单点登录。
1 回答
我不太清楚你在问什么,所以我会单独解决每个问题,希望它能解决你的整体问题:
是否可以使用 Smartsheet 的 API 在 Web 上登录 Smartsheet?
不,您不能使用 api 创建 Web 会话。对于 3rd 方应用程序,这将违背使用 OAuth2 的目的,因为 OAuth 的整个目标是授予对受保护资源的有限访问权限。对于用户生成的访问令牌,这可能是可行的,因为这些令牌具有不受限制的访问权限,但 API 目前不支持。
我正在考虑创建一个使用 API 登录的基于表单的身份验证。有没有人做过这样的事情?
我假设您的意思是您将创建一个表单来收集用户的 Smartsheet 凭据并使用这些凭据在 Smartsheet 中获得 SSO 体验?这在技术上是可行的,但我强烈反对它。要创建 SSO 体验,您需要以允许您代表用户发布密码的方式保留密码。这意味着您会将其存储在 2 路加密状态(充其量),这绝对不是最佳实践。同样,我强烈建议不要这样做。
我的目标是在不使用 SAML 的情况下实现基于 Web 的单点登录。
如果您想在 Smartsheet 中获得 SSO 体验,您可以使用 SAML 或 Google(不是真正的 SSO,但非常接近)。目前没有基于 API 的方法。
旁注,如果您想另辟蹊径,这意味着您有一个网站并且您想使用 Smartsheet(或任何基于 OAuth2 的 API)作为身份提供者,您可以使用 3rd Party OAuth2 流程。请参阅此处的文档。然后,您可以添加一个“使用 Smartsheet 登录”按钮来启动该流程,就像我们在网络上随处可见的“使用 Google 登录”或“使用 Facebook 登录”一样。