MastercardOAuth 0.5.0

MastercardOAuth 0.5.0

Luke Reichold 维护。



  • 作者:lukereichold
  • No content available

Mastercard OAuth 1.0 签名客户端

概述

生成符合 Mastercard API 规范的 OAuth 签名的零依赖 Swift 库。

用法

先决条件

在开始使用此库之前,您需要设置一个项目和在Mastercard 开发者门户中添加密钥。

您将需要以下两件关键信息:

  • 消费者密钥
  • 与 Mastercard 开发者门户上传的公钥匹配的私钥

安装

MastercardOAuth 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中即可

pod 'MastercardOAuth'

然后您可以从 Swift 中导入框架

import MastercardOAuth

注意:将此库用作 pod 要求 Xcode 10 或更高版本。

创建一个有效的 OAuth 授权头部字符串

完成大部分工作的是 OAuth.authorizationHeader() 方法。您可以直接调用它,只要您提供正确的参数,它将返回一个可以添加到您 HTTP 请求的 Authorization 头部的字符串。

示例

要运行示例项目,首先克隆存储库,然后从 Example 目录执行 pod install

示例使用

  let uri = URL(string: "https://sandbox.api.mastercard.com/service")!
  let method = "GET"
  let examplePayload: [String: String] = ["languageId": 1,
                                          "geographicId": 0]
  let payloadJSON = (try? JSONSerialization.data(withJSONObject: examplePayload, options: [])) ?? Data()
  let payloadString = String(data: payloadJSON, encoding: .utf8)
  
  let consumerKey = "<insert consumer key from developer portal>"
  let signingKey = "<initialize private key matching the consumer key>"

  let header = try? OAuth.authorizationHeader(forUri: uri, method: method, payload: payloadString, consumerKey: consumerKey, signingPrivateKey: myPrivateKey)

您可以使用实用工具 KeyProvider.swift 来创建代表您的开发者私钥的 SecKey 对象。只需将包含您的 Certificate.p12 的包路径传递给

KeyProvider.loadPrivateKey(fromPath: certificatePath: String, keyPassword: String) -> SecKey?

作者

Luke Reichold, [email protected]

许可证

MastercardOAuth 受 MIT 许可证的许可。有关更多信息,请参阅 LICENSE 文件。