Я разрабатываю приложение для iOS с использованием инфраструктуры django rest для apis. Но в настоящее время я не могу продвинуться вперед при вызове API с учетными данными для аутентификации.
Мне удалось вызвать api с помощью Postman и curl, установив заголовок как Authentication Bearer <token>
.. но мне постоянно не удавалось вызвать его из приложения 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"]
}
}
}
Есть ли что-нибудь, что я должен учитывать при использовании Moya для аутентификации или, возможно, с Info.plist и т. Д.? Или в документе говорится, что этот подход предназначен для токена JWT, и, возможно, мой метод не для JWT и чего-то еще ..? Дай мне совет!