You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于实现自有软件与Esri/ArcGIS Online交互的技术咨询

实现自有软件与Esri/ArcGIS Online交互的可行方案

完全可以实现你描述的交互场景,核心解决无缝身份认证和资产ID传递与数据展示两个关键点,以下是具体落地思路:

一、核心方案概述

用户在SomeRandomSoftwareApp完成登录后,点击Widget内的链接时,由自有软件后台完成ArcGIS Online的身份认证(无需用户重复输入账号密码),获取合法访问令牌后,携带资产ID跳转至ArcGIS Online对应页面或在自有Widget内嵌入展示关联数据。

二、分步实现细节

1. 注册ArcGIS Online应用

首先需要在ArcGIS Online开发者平台注册一个自有软件对应的应用:

  • 登录ArcGIS Online,进入「开发者仪表盘」创建新应用
  • 配置OAuth 2.0相关参数:设置回调URL(自有软件的合法域名),启用授权码流程(推荐搭配PKCE增强安全性)
  • 申请必要权限:比如item:read(读取资产数据),根据实际需求调整权限范围

2. 无缝身份认证实现

为避免用户重复登录,推荐两种认证方式:

方式1:OAuth 2.0静默授权(通用场景)

  • 用户点击Widget链接时,自有软件后台先验证用户在自有系统的登录状态
  • 后台发起ArcGIS OAuth授权请求,添加prompt=none参数实现静默授权(若用户此前已授权过该应用,直接返回授权码;未授权则需引导用户完成一次授权,后续可静默)
  • 用授权码换取ArcGIS访问令牌(access_token)和刷新令牌(refresh_token),令牌存储在自有后台,按需使用

方式2:SAML单点登录(企业内部场景)

  • 若企业已将ArcGIS Online与自有身份系统(如AD、Okta)配置为SAML集成,用户在自有软件登录后,直接跳转ArcGIS Online时会自动复用SAML会话,无需额外认证

3. 资产ID传递与数据展示

场景A:跳转至ArcGIS Online原生页面

  • 拿到访问令牌后,构造ArcGIS资产详情URL,将资产ID和令牌作为参数传入:
https://www.arcgis.com/home/item.html?id={your-asset-id}&token={access_token}
  • 用户点击链接后,直接打开新窗口展示对应资产的完整数据,ArcGIS Online会自动验证令牌并完成登录态同步

场景B:在自有Widget内嵌入展示

  • 使用ArcGIS JS API在自有Widget中直接渲染资产数据:
// 自有Widget前端代码示例
async function loadEsriAsset(assetId) {
  // 从自有后台获取ArcGIS访问令牌
  const tokenRes = await fetch('/api/get-esri-token', { credentials: 'include' });
  const { accessToken } = await tokenRes.json();

  // 初始化ArcGIS JS API
  require(["esri/Map", "esri/views/MapView", "esri/portal/PortalItem"], (Map, MapView, PortalItem) => {
    const portalItem = new PortalItem({
      id: assetId,
      token: accessToken
    });

    const map = new Map({
      portalItem: portalItem
    });

    const view = new MapView({
      container: "esri-widget-container",
      map: map
    });
  });
}

4. 安全注意事项

  • 禁止在前端暴露ArcGIS应用的client_secret,所有令牌获取逻辑必须通过自有后台完成
  • 使用PKCE流程配合授权码,防止授权码被拦截盗用
  • 合理设置令牌过期时间,利用刷新令牌自动续期,避免用户频繁触发认证流程

三、权限验证

确保ArcGIS Online的目标资产已对应用户/应用开放访问权限:

  • 若使用应用级令牌,需将资产共享给该ArcGIS应用的访问权限组
  • 若使用用户级令牌,需确保用户账号有权限查看目标资产

内容的提问来源于stack exchange,提问作者Keith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:51:17