没有客户端组件的基于 IBM MFP 适配器的身份验证
Posted
技术标签:
【中文标题】没有客户端组件的基于 IBM MFP 适配器的身份验证【英文标题】:IBM MFP Adapter-based authentication without client-side components 【发布时间】:2018-07-08 12:41:39 【问题描述】:如何在不安装 mfp 客户端 sdk / libs 的情况下使用基于 MFP (8.0) 适配器的身份验证。 是否可以在没有客户端 sdk 的情况下直接从客户端应用程序(移动设备)对 adpater(登录)进行 REST 调用。
更新: 我已经尝试过机密客户端选项,但我需要个人用户详细信息而不是预定义的客户端 ID。
【问题讨论】:
你能澄清一下要求吗?为什么要在不使用客户端 SDK 的情况下从移动应用程序调用 Rest Adapter? @KavithaVaradarajan 以避免依赖,将来如果我们需要用其他东西更改 MFP。 @ArjunTRAj,具体一点 - 在 MFP 7.1 之前,有一个“基于适配器的身份验证”功能可用。然后是 MFP 8.0 中基于安全检查适配器的身份验证。你具体指的是哪一个? @VivinK MFP 8.0 【参考方案1】:如果没有 MobileFirst SDK,您将无法在客户端应用程序中进行基于适配器的身份验证。
但是,这仅适用于未受保护的适配器端点。
【讨论】:
“但是,这只有在未受保护的适配器端点上才有可能” - 你能告诉我怎么做吗?我无论如何都不想使用机密客户端 @ArjunTRAj 从适配器端点移除 OAuth 保护。它将成为不受保护的 REST 端点,可以从任何地方访问。 好的,但是我们如何访问那个适配器呢?假设默认登录适配器 @Path("/resource") public class UserLoginSecurityCheck extends UserAuthenticationSecurityCheck ... 我怎样才能通过休息访问这个适配器?我试过 xxxxx.xxx/resource 但它不工作 您是否尝试访问安全检查适配器或资源适配器?无法通过 REST 访问安全检查适配器。 好的,我们可以从另一个可从 REST 访问的资源适配器访问安全检查适配器(不受保护)【参考方案2】:无法通过 REST 调用访问安全检查适配器。您可以使用映射到这些安全检查的范围来保护您的资源,并在访问资源时调用它们。在客户端,您处理来自安全检查的挑战。这需要 MFP 客户端 SDK 到位。没有 MFP 客户端 SDK,您无法直接访问安全检查适配器。
有两种方法可以避免调用安全检查:
-
不要用任何安全性标记资源。在这种情况下,将应用默认安全范围。但是,您仍然需要 MFP 客户端 SDK 来处理 OAuth 握手。
避免调用安全检查适配器的唯一其他方法是明确标记您的资源不受保护(禁用该资源的 OAuth 安全性)。这将阻止任何质询应答机制,并且您可以在没有 MFP 客户端 SDK 的情况下访问资源。请注意,您的资源(通过 REST 端点)将容易受到攻击 - 不会对其应用任何安全措施。
【讨论】:
以上是关于没有客户端组件的基于 IBM MFP 适配器的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
从独立的 IBM MFP 客户端应用程序调用 MFP 适配器
IBM Worklight 6.0 - 如果客户端注销/登录,具有基本身份验证的适配器不会更新身份验证标头
IBM Mobilefirst JAVA 适配器在存储用户数据时出现 MFP-Conflict=Concurrency 失败