东莞市连易网络科技有限公司
东莞市连易网络科技有限公司
  • 网站
  • 用户
  • 购物车
  • 购物车
  • 搜索
  • 网站
  • 用户
帮助
帮助
开发文档 客户端凭据 REST Host
  • 用户文档
  • 开发文档
  • API文档
  • 提及
  • 标签
  • 更多
  • 取消
  • 新建
  • +开始
  • +UI 自定义
  • -外部集成
    • -REST API
      • -REST SDK
        • -Hosts
          • 基本请求
          • 客户端凭据 REST Host
          • 自定义 REST Host
          • 默认 REST Host
        • REST 最佳性能实践
      • 上传文件
      • 发起请求
      • 认证
    • Webhooks
    • +外部身份验证
  • +插件/框架扩展

客户端凭据 REST Host

在 SDK 中可用的 2 个Host中,客户端凭据 REST Host 是最直接且易于使用的Host。传统上,它可以使用所需的信息作为构造函数参数进行实例化,也可以使用应用程序配置文件来存储信息。它也是唯一可以在基于 Web 的应用程序之外使用的附带 Host。客户端凭据 REST Host 主要用于工具应用程序,而不是集成。

设置

如果安装了 SDK,则安装了 limyee_SDK.config 文件和 oauth.ashx 文件。如果仅计划使用客户端凭据 REST Host,则可以删除这些文件,因为它们未被使用。

客户端凭据 REST Host 要求您在平台站点上创建 OAuth 客户端。此客户端应使用客户端凭据授权类型,并且是机密客户端。有关创建 OAuth 客户端和使用授权类型的更多信息,请参阅:REST API 身份验证。记录您的客户端 ID 和客户端密码。

此 Host 需要 4 条信息才能工作:

  • deafaultUsername:Host 在不模拟时将主要使用的用户
  • limyeeUrl:平台的完全限定域名
  • clientId:您创建的 Oauth 客户端的客户端 ID
  • clientSecret:您创建的 Oauth 客户端的客户端机密

您有 2 个选项可用于创建 Host。第一个选项只是像其他类一样实例化它,传递必需的参数:

    var host = new ClientCredentialsRestHost("admin"
        ,"http://mylimyeesite.com"
        , "[Your Client Id]"
        , "[Your Client Secret]");

第二种是使用应用程序配置文件。在解决方案中找到 web.config 或 app.config 文件,如果不存在则添加一个。如果<AppSettings />节点不存在,请添加该节点,然后使用在 OAuth 客户端设置的值添加以下信息:

<appSettings>
    <add key="limyeeUrl" value="[http://mylimyeesite.com]" />
    <add key="defaultUsername" value="admin" />
    <add key="clientId" value="[Oauth Client Id]" />
    <add key="clientSecret" value="[Oauth Client Secret]" />
</appSettings>

如果尝试使用 Host 的默认构造函数实例化 Host 且尚未在配置中设置值,则会收到错误。

生命周期

客户端凭据 REST Host与任何其他类一样,可在创建它的作用域继续使用。创建客户端凭据 REST Host并不昂贵,但也不必经常这样做。通常,每个应用程序只需创建一次 Host。如果需要其他平台或备用配置,可以创建多个 Host,但只有 1 个 Host 可以使用应用程序配置来存储值,所有其他Host都必须使用构造函数。

身份验证和模拟

如前所述,客户端凭据 REST Host使用 OAuth 进行身份验证,特别是客户端凭据授权。这意味着,当它使用默认用户时,它会为该用户请求访问令牌,并用于对所有非模拟的 REST 请求进行身份验证。如果要模拟,它将获取该用户的令牌,并将其用于模拟的范围。为了避免多个令牌请求,Host 将缓存它,以便于获取令牌的用户。由于可以缓存用户并且令牌可能已过期,因此 Host 还将获取刷新令牌。

模仿

Host 中模拟需要 2 个步骤。首先,您必须使用名为"Impersonate"的特定 Host 方法,该操作将允许在操作范围内发出的请求以其他用户身份运行。

 var host = new ClientCredentialsRestHost(); //Assumes config values arein the config file
 host.Impersonate("userA", (h) =>
 {
    //Stuff in here runs as userA
 });

此外,所有请求都必须将调用的 enableImpersonation 参数设置为 true(default)。  将其设置为 false 是一种正在请求范围内时选择退出模拟的方法。

var host = new ClientCredentialsRestHost(); //Assumes config values arein the config file
host.Impersonate("userA", (h) =>
{
    //This will run as userA
    dynamic impersonatedResponse = host.GetToDynamic(1, "info.json",true);
    //This will run as the default user
    dynamic notImpersonatedResponse = host.GetToDynamic(1, "info.json", false);
});

  • 分享
  • 历史
  • 更多
  • 取消
相关
推荐
Copyright © 2021 东莞市连易网络科技有限公司. All rights reserved.
Powered by Limyee Commerce System(3.0.0). © 2014 - 2025 Limyee Inc.