api用のdjango rest frameworkを使用してiOSアプリケーションを開発しています。しかし、現在のところ、認証資格情報でapiを呼び出すときには、私は先に進めることができません。Moya - 認証資格情報でapisを呼び出すことができません
ヘッダーをAuthentication Bearer <token>
と設定して、Postmanとcurlを使用してAPIを呼び出すことに成功しましたが、iOSアプリケーションから呼び出しても失敗しました。私はMoya
を使ってapiを呼び出しています。そして私は次に何をすべきか分かりません。
:として(モヤを呼び出すとき)
let token = "abcde12345sometoken"
let plugin = AccessTokenPlugin(tokenClosure: token)
let provider = MoyaProvider<AccountAPI>(plugins : [plugin])
provider.request(.getAccountProfile(oauth_id: oauth_id, provider: "facebook")) { (result) in
// doing something with result
}
れ、構成API:
extension AccountAPI : TargetType, AccessTokenAuthorizable {
// codes conforming variables to TargetType protocol
public var authorizationType: AuthorizationType {
switch self {
case .getFacebookAccountToken:
return .none
default:
return .bearer
}
}
public var headers: [String: String]? {
switch self {
case .getFacebookAccountToken, .getEmailAccountToken: // post requests
return ["Content-type":"application/x-www-form-urlencoded"]
default:
return ["Content-type":"application/json"]
}
}
}
認証のためにまたは多分のInfo.plistでモヤを使用しているとき、私は検討すべきものはありますし、そう? 文書によると、このアプローチはJWTトークン用であり、おそらく私の方法はJWT用ではないとか..アドバイスをください!
ヘッダー変数はどのように見えますか?ヘッダーが実際に上書きされますか? – user805981
私は質問のヘッダーvarを追加編集し、私はそれが必要なときにAccept-Languageヘッダーを追加する必要があると思う..任意の提案? –
それは変です。 APIのヘッダーはプラグインをオーバーライドしません。 – user805981