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 文件。