OAuthSwift 的自定义标头
Posted
技术标签:
【中文标题】OAuthSwift 的自定义标头【英文标题】:Custom Headers for OAuthSwift 【发布时间】:2018-04-12 23:39:31 【问题描述】:我正在使用 OAuthSwift 对用户进行身份验证,但我已经将用户的凭据存储在 cookie 中,我需要在尝试授权之前将 cookie 设置为 OAuthSwift 实例的标头。
我知道您可以更改OAuthSwiftCredential.authorizationHeader
,但是添加我自己的一组标题呢?这甚至可能吗?
oauth = OAuth2Swift(consumerKey: ""...)
// Change oauth headers here>
oauth.authorize(withCallbackURL: ""...)
【问题讨论】:
【参考方案1】:/ 1. 构建授权头字符串
let auth = OAuthSwiftClient.authorizationHeaderForMethod(method.rawValue,
url: URLWithPath,
parameters: parameters!,
credential: Semantics3Router.oauthClient.credential)
// 2. 请求URL
let URLRequest = OAuthRequestBuilder.makeRequest(URLWithPath,
method: method.rawValue,
headers: [ "Authorization" : auth ],
parameters: parameters!,
dataEncoding: dataEncoding)
【讨论】:
这对您有帮助吗? No..authorizationHeaderForMethod
不是 OAuthSwiftClient 的函数。而 OAuthRequestBuilder 什么都不是。【参考方案2】:
原来标头实际上是作为可选内容内置到 authorize
函数中的。我只是在查看源代码之前没有看到它。
open func authorize(withCallbackURL callbackURL: URL, scope: String,
state: String, parameters: Parameters = [:], headers:
OAuthSwift.Headers? = nil, success: @escaping TokenSuccessHandler,
failure: FailureHandler?) -> OAuthSwiftRequestHandle?
Xcode 用于显示自动填充选项的选项,我想知道为什么它不再这样做了??
【讨论】:
以上是关于OAuthSwift 的自定义标头的主要内容,如果未能解决你的问题,请参考以下文章