sequencing-master-plugin-api-swift 1.3.1

sequencing-master-plugin-api-swift 1.3.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2017 年 3 月

Bogdan LaukhinAlex Moskvin 维护。



 
依赖
sequencing-oauth-api-swift~> 2.5.0
sequencing-file-selector-api-swift~> 2.0.2
sequencing-app-chains-api-swift~> 2.1.1
 

  • Sequencing

内容

  • 实现
  • 主 CocoaPods 插件安装
  • 身份验证流程
  • OAuth CocoaPods 插件集成
  • 文件选择 CocoaPods 插件集成
  • AppChains CocoaPods 插件集成
  • 资源
  • 维护者
  • 贡献

实现

为了将此 Master 插件实现到您的应用中

1) 注册 免费帐户

2) 将此仓库的 Master 插件添加到您的应用中

3) 生成 OAuth2 秘密 并将其插入插件中

4) 添加一个或多个 App Chain 编号。App Chain 将提供您可用于个性化应用的基于遗传的信息。

5) 根据每个 app chain 的可能响应 配置您的应用

主 CocoaPod 插件安装

  • 查看 CocoaPods 指南
  • 在您的项目目录中创建 Podfile: $ pod init
  • 在 Podfile 中指定 "sequencing-master-plugin-api-objc" 插件参数

    pod 'sequencing-master-plugin-api-swift', '~> 1.3.1'

  • 在您的项目中安装依赖项: $ pod install

  • 始终打开 Xcode 工作区而不是项目文件: $ open *.xcworkspace
  • 结果,您将安装 3 个 CocoaPods 插件:OAuth、文件选择器和应用链

身份验证流程

Sequencing.com 使用标准的 OAuth 方法,允许应用程序在不暴露用户密码的情况下访问 HTTP 服务上用户帐户的有限访问权限。OAuth 作为终端用户的代理人,向服务提供访问令牌,用于授权共享特定帐户信息。

Authentication sequence diagram

步骤

步骤 1:授权代码链接

首先,系统会使用授权码链接打开一个网页

https://sequencing.com/oauth2/authorize?redirect_uri=REDIRECT_URL&response_type=code&state=STATE&client_id=CLIENT_ID&scope=SCOPES

以下是对链接组件的解释

  • https://sequencing.com/oauth2/authorize - API授权端点
  • redirect_uri=REDIRECT_URL - 服务将用户代理重定向到的URL(在授权码授予后)
  • response_type=code - 指定您的应用程序请求授权码授予
  • state=STATE - 保存将随机验证码与服务器响应中的同一代码进行比较,以验证响应是否被欺骗
  • client_id=CLIENT_ID - 应用程序的客户端ID(API如何识别应用程序)
  • scope=CODES 指定应用程序请求的访问级别

login dialog

第二步:用户授权应用程序

用户必须首先登录到服务以验证其身份(除非他们已经登录)。然后,服务将提示用户授权或拒绝应用程序访问他们的账户。以下是一个授权应用程序提示示例

grant dialog

第三步:应用程序接收授权码

当用户点击“授权应用程序”时,服务将打开重定向_URI URL地址,该地址在授权请求期间指定。在iOS应用程序中使用了以下redirect_uri

authapp://Default/Authcallback

一旦您的应用程序检测到重定向_URI页面已打开,它就应该分析服务器响应中带有的状态验证码。如果状态验证码与授权请求中发送的相同,则意味着服务器响应是有效的。现在我们可以从服务器响应中获取授权码。

第四步:应用程序请求访问令牌

应用程序通过传递授权码(如上所述从服务器响应中获取)、包含客户端密钥等的身份验证详细信息,通过API令牌端点请求访问令牌。以下是对Sequencing.com令牌端点的POST请求示例

https://sequencing.com/oauth2/token

必须发送以下POST参数

  • grant_type='authorization_code'
  • code=AUTHORIZATION_CODE(其中AUTHORIZATION_CODE是来自测序.com重定向结果中“code”参数获取的代码)
  • redirect_uri=REDIRECT_URL(其中REDIRECT_URL是步骤1中使用的相同URL)

第五步:应用程序接收访问令牌

如果授权有效,API将发送一个包含令牌对象的JSON响应到应用程序。令牌对象包含accessToken、其expirationDate、tokenType、scope和refreshToken。

OAuth CocoaPod插件集成

参见OAuth CocoaPod插件文档(Swift)

文件选择器CocoaPod插件集成

参见文件选择器CocoaPod插件文档(Swift)

AppChains CocoaPod插件集成

参见AppChains CocoaPod插件文档(Swift)

资源

维护者

本存储库由 Sequencing.com 积极维护。如需更多信息或仅想打个招呼,请给 Sequencing.com 生物信息学团队发送邮件[email protected]

贡献

我们鼓励您热烈地分叉。如果您有兴趣更新主分支,请向我们发送pull请求。如果更改具有积极意义,我们将让它继续。