OAuthInfo

AMD: require(["geoscene/identity/OAuthInfo"], (OAuthInfo) => { /* code goes here */ });
ESM: import OAuthInfo from "@geoscene/core/identity/OAuthInfo";
类: geoscene/identity/OAuthInfo
继承于:OAuthInfo Accessor
起始版本:GeoScene API for JavaScript 4.0

此类包含有关 OAuth 2.0 配置的信息。将其与 IdentityManager 微件结合使用,以帮助使用 OAuth 2.0 身份验证。

一步验证已被推荐的 代码交换证明密钥 (PKCE) 的两步方法所取代。

此更新与 OAuth 2.1 规范中的建议一致。尽管仍支持一步验证,但 API 将不再默认为此操作。如果需要保留此设置,则需要将 flowType 设置为 implicit

有关此更新的更多信息,请参阅 4.23 发行说明

另请参阅:

构造函数

new OAuthInfo(properties)
参数:
properties Object
可选

有关可能传递给构造函数的所有属性的列表,请参见属性

示例:
require(["geoscene/identity/OAuthInfo", "geoscene/identity/IdentityManager"],
function (OAuthInfo, geosceneId)
{
  let info = new OAuthInfo({
    appId: "<put client id here>",
    flowType: "authorization-code" // this is needed for popups, otherwise it will revert to implicit flow
    popup: true // make sure to set callback page to one that supports authentication type
  });

  geosceneId.registerOAuthInfos([info]);
})

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性 主题。
隐藏继承的属性 显示继承的属性
名称 类型 描述
String更多信息

已注册的应用程序 ID。

更多信息OAuthInfo
String更多信息

具有相同值的应用程序将在同一主机上共享存储的令牌。

更多信息OAuthInfo
String更多信息

类的名称。

更多信息Accessor
整数更多信息

令牌有效的分钟数。

更多信息OAuthInfo
String更多信息

设置此属性以指定要使用的身份验证类型。

更多信息OAuthInfo
布尔值更多信息

将此属性设置为 true 以强制用户使用 userId 中的 id 登录。

更多信息OAuthInfo
String更多信息

OAuth 登录页的区域设置。

更多信息OAuthInfo
整数更多信息

保存的令牌到期前的最短时间(以分钟为单位),仍应视为有效。

更多信息OAuthInfo
布尔值更多信息

设置为 true 以在弹出窗口中显示 OAuth 登录页面。

更多信息OAuthInfo
String更多信息

适用于使用弹出式用户登录工作流的情况。

更多信息OAuthInfo
String更多信息

传递给 window.open() 的窗口要素。

更多信息OAuthInfo
String更多信息

GeoScene Enterprise 门户 URL。

更多信息OAuthInfo
布尔值更多信息

popupfalse 时将此属性设置为 true,以便在登录后恢复窗口的位置哈希值。

更多信息OAuthInfo
String更多信息

forceUserIdtrue 时使用的用户 ID。

更多信息OAuthInfo

属性详情

appId String

已注册的应用程序 ID。

authNamespace String

具有相同值的应用程序将在同一主机上共享存储的令牌。

默认值:/(正斜杠)
declaredClass Stringreadonly inherited
起始版本:GeoScene API for JavaScript 4.7

类的名称。声明的类名的格式为 geoscene.folder.className

expiration Number

令牌有效的分钟数。

默认值:20160 (两周)
flowType String
起始版本:GeoScene API for JavaScript 4.23

设置此属性以指定要使用的身份验证类型。一步验证已被推荐的两步方法取代(即。grant_type=authorization-code)。

此更新与 OAuth 2.1 建议中的建议一致。

可能值 说明
auto 如果从 GeoScene Online 或 GeoScene Enterprise 3.0 或更高版本访问资源并且 popupfalse.,则自动默认使用 PKCE 进行两步身份验证。如果访问较早版本的 GeoScene Enterprise 或 popuptrue,则使用一步式身份验证。如果需要弹出窗口,请使用下面描述的 authorization-code 流程。
authorization-code auto 类似,这也使用 PKCE 的两步身份验证。将此类型用于使用弹出窗口的应用程序。这不会检查服务器版本。如果在没有 PKCE 支持的旧服务器版本上访问资源,请不要使用此类型。
implicit 一步式身份验证。这不再是推荐的方法,并且已被两步身份验证所取代如果使用较旧的服务器版本(即 3.0 之前的版本),请使用此类型。有关其他信息,请参阅 OAuth 2.0 安全最新做法

通过弹出窗口登录到应用程序时,引用的callback 页面应与使用的任何身份验证类型兼容。默认的 oauth-callback.html 已更新,允许以两步方法进行这些更新,尽管如果使用一步流,它仍然有效。

可能值:"auto"|"authorization-code"|"implicit"

默认值:auto
示例:
// Default workflow
let infoAuto = new OAuthInfo({
  appId: "<put client id here>",
  flowType: "auto" // Default. If using a supported server/portal version and no popup, two-step authentication is used. If not, reverts to `implicit`.
  popup: false // Default
});
// Two-step workflow
let infoCode = new OAuthInfo({
  appId: "<put client id here>",
  flowType: "authorization-code" //  If using supported server/portal version and a popup, two-step authentication is used.
  popup: true,
  popupCallbackUrl: "oauth-callback.html" // Make sure the callback page supports this approach
});
// One-step workflow
let infoImplicit = new OAuthInfo({
  appId: "<put client id here>",
  flowType: "implicit" // no longer recommended. Should be used if working with older versions of Server/Portal, (ie. <10.9).
  popup: true,
  popupCallbackUrl: "oauth-callback.html" // Updated callback page works with both two-step and one-step authentication
});
forceUserId Boolean
起始版本:GeoScene API for JavaScript 4.18

将此属性设置为 true 以强制用户使用 userId 中的 id 登录。如果未设置 userId,则在用户登录后更新。如果令牌过期,将要求同一用户重新登录。

默认值:false
另请参阅:
locale String

OAuth 登录页的区域设置。默认区域设置基于您的浏览器/操作系统和组织区域设置。可以使用此属性来更改此属性。区域设置需要遵循 geosceneonline.cn 支持的语言短划线国家/地区代码语法。

默认值:基于 您的浏览器/操作系统 和组织区域设置。
另请参阅:
minTimeUntilExpiration Number

保存的令牌到期前的最短时间(以分钟为单位),仍应视为有效。

默认值:30

设置为 true 以在弹出窗口中显示 OAuth 登录页面。确保在 popupCallbackUrl 中引用了一个有效的回调页面。提供了一个示例回调页面 oauth-callback.html 来帮助解决此问题。引用的回调页面应该与使用的任何身份验证类型兼容。默认的 oauth-callback.html 已更新,允许以两步方法进行这些更新,尽管如果使用一步流,它仍然有效。

默认值:false
另请参阅:
popupCallbackUrl String

适用于使用弹出式用户登录工作流的情况。这是一个相对页面 URL,可在成功登录后将用户重定向回受保护的应用程序。

引用的回调页面应该与使用的任何身份验证类型兼容。 默认的 oauth-callback.html 已更新,允许以两步方法进行这些更新,尽管如果使用一步流,它仍然有效。

默认值:"oauth-callback.html"
另请参阅:
popupWindowFeatures String

传递给 window.open() 的窗口要素。

默认值:height=490,width=800,resizable,scrollbars,status
portalUrl String

GeoScene Enterprise 门户 URL。

默认值:"https://www.geosceneonline.cn/geoscene"
preserveUrlHash Boolean
起始版本:GeoScene API for JavaScript 4.14

popupfalse 时将此属性设置为 true,以便在登录后恢复窗口的位置哈希值。

默认值:false
另请参阅:
userId String
起始版本:GeoScene API for JavaScript 4.18

forceUserIdtrue 时使用的用户 ID。这会在用户登录后更新,或者可以预设为特定的 ID。

另请参阅:

方法概述

名称 返回类型 描述
OAuthInfo更多信息

创建 OAuthInfo 对象的副本。

更多信息OAuthInfo
*更多信息

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。

更多信息OAuthInfo
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示形式。

更多信息OAuthInfo

方法详情

clone(){OAuthInfo}
起始版本:GeoScene API for JavaScript 4.4

创建 OAuthInfo 对象的副本。

返回:
类型 说明
OAuthInfo 返回 OAuthInfo 的副本。
fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象中的值对其进行初始化。传递到输入 json 参数的对象通常来自对 REST API 中的查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。请参阅指南中的 fromJSON() 主题,了解有关何时以及如何使用此功能的详细信息和示例。

参数:
json Object

GeoScene 格式的实例的 JSON 表示形式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回:
类型 说明
* 返回此类的新实例。
toJSON(){Object}

将此类的实例转换为其 GeoScene portal JSON 表示形式。有关更多信息,请参阅 fromJSON()主题。

返回:
类型 说明
Object 此类示例的 GeoScene portal JSON 表现形式。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.