了解 Oracle Mobile Hub 环境
Oracle Mobile Hub 专为支持移动应用开发和使用而设计。使用它可以为移动应用可以访问的一个或多个 API 设置用于处理身份验证和路由的后端。
您可以使用一个或多个内置平台 API 来提供通知、位置服务、存储、脱机和同步以及数据库访问等服务。
Oracle Mobile Hub 还可以托管您编写的定制 API。Oracle 提供了适用于 Android、iOS、Cordova、React Native 和 Javascript Web 应用的 SDK,可帮助用户更轻松地开发应用。
定制 API 可以使用 Oracle Mobile Hub 连接器将连接从移动应用程序路由到第三方应用程序,例如 Google Maps 或 OpenWeatherMap。连接器引入了间接的级别,允许您将定制 API 调用转换为适用于外部服务的正确格式。此外,您可以使用它们来处理与外部服务的身份验证,以及将来自应用的多个请求合并到单个 REST 调用中。
后端
后端与 Web 服务器的作用类似,但它不是托管 Web 页,而是托管 API 和其他构件。移动应用程序只能通过您创建的后端访问 Oracle Mobile Hub 上的资源。
创建后端后,您可以将一个或多个 API 与之关联。关联的 API 通过后端进行访问,后端提供 API 的基本 URL。后端还处理 API 的验证和授权任务。可以使用 OAuth 或基本验证来验证用户。您还可以将角色分配给移动用户,然后根据用户的角色限制对后端的访问。
如果您使用推送通知,则可以在 Oracle Mobile Hub 中创建通知配置文件,以管理来自通知供应商(例如 Google、Apple 和 Syniverse)的凭据。然后,将客户端应用程序与通知概要信息关联。
验证方法
有几种方法可用于验证应用程序的用户。
在 Oracle Mobile Hub 中,所有资源都是安全的,并且只能由有权访问这些资源的经过验证的用户访问。在大多数情况下,可以为后端启用多个验证方法。
后端支持以下验证方法:OAuth 2.0、HTTP Basic Authentication、Enterprise Single Sign-On (SSO) 和 Facebook Login。
- Enterprise Single Sign-On
-
通过在 IdP 与 Oracle Mobile Cloud 之间创建信任关系,可以为应用程序的用户使用您自己的 IdP。这允许贵公司的员工使用现有凭据登录应用程序。它还可以用于客户已经有其他用途的用户帐户的消费者应用程序。
您还可以使用来自第三方 IdP 的 SAML 令牌或 JWT 令牌,以及使用 Oracle Identity Cloud Service 作为 IdP 的基于浏览器的 SSO。
Oracle Mobile Hub 支持通过以下方式使用 SAML 和 JWT 令牌:- 零封装 SSO,在 Oracle 中不存储任何用户帐户。相反,用户的所有信息(包括用户角色)都派生自第三方令牌。此类用户称为虚拟用户。
- 使用标记标识已在 Oracle Identity Cloud Service 和第三方 IdP 中预配的用户。根据 Oracle Identity Cloud Service 中提供的信息为用户关联角色。
- Facebook 登录
-
此身份验证方法对于针对使用者的应用程序非常有用,但它要求您向 Facebook 注册您的应用程序。此外,使用 Facebook 登录时,后端中的其他验证方法不可用。
移动用户和角色
您可以创建用户,然后将他们的访问权限分配给应用程序。然后,您可以使用角色来限制该访问。
您可以在 Oracle Identity Cloud Service 中通过第三方 IdP 或使用 Facebook 登录验证创建用户。Oracle Identity Cloud Service 中提供 REST API,可用于批量创建和管理用户和组。
创建用户后,您可以向他们分配对应用程序的访问权限。您还可以将用户添加到组中,然后授予组对应用程序的访问权限。
您可以在 Oracle Mobile Cloud 中创建角色,然后为这些角色指定访问权限。您可以指定哪些角色有权访问 API,或有权访问 API 的一个或多个端点。使用 Facebook 登录时,基于角色的访问不可用。
客户端 SDK
Oracle 为以下平台和框架提供客户端 SDK:Android、iOS、Cordova、JavaScript 和 React Native。
SDK 提供特定于平台的包装类,使您能够更轻松地使用 Oracle Mobile Hub 。
请参阅“浏览更多”部分中的下载页面,从 Oracle Mobile Hub 下载 SDK。下载页面上的 SDK 名称遵循原有产品名称,但其中包含的代码是最新版本。
内置持久性层
每个后端都有自己的持久层,作为 SQL 数据库实施。
您的应用可以通过数据库访问 API 和数据库管理 API 访问数据库。利用这两个 API,您可以使用 SQL 命令创建、读取、更新和删除表和行。
移动应用程序无法直接访问数据库。只能通过从定制 API 发出的 REST API 调用来访问数据库。