gpt4 book ai didi

ios - 拦截 oauth2 回调

转载 作者:行者123 更新时间:2023-11-28 06:50:46 25 4
gpt4 key购买 nike

我正在尝试将一个 iOS Swift 应用程序连接到一个 API,并且我已经尝试了 oauthswiftaerogear海姆达尔

流程运行良好,但 API 本身没有用户拥有的资源。所有用户都可以访问所有资源。但是,API 确实需要 OAuth2 进行身份验证。

有没有办法防止 swift 应用跳转到 Safari(或 Safariwebview)并避免用户登录部分或使用变通方法处理它?我知道这有点与 oauth2 背道而驰,但是没有必要(实际上这会是一个障碍)让单个用户登录到这个 api。

基本上,我希望应用程序在后端登录以访问每个用户。我知道这个 api 在 Ruby、Python 和 Node 中有 sdk 可以做到这一点。那么,如何在 Swift 中执行此操作?

这是我成功进入的 oauthswift 代码:

let yourEndpoint = ("https://www.awebsite.com/search/shows/a_show")
let oauthswift = OAuth2Swift(
consumerKey: "my key",
consumerSecret: "my secret",
authorizeUrl: "https://www.awebsite.com/oauth/authorize",
accessTokenUrl: "https://www.awebsite.com/oauth/token",
responseType: "token")

let name = "sample_api_proj"


oauthswift.authorizeWithCallbackURL( NSURL(string: "xxx:xxxx:xx:oauth:2.0:xxx")!, scope: "", state: "", success: {
credential, response, parameters in
self.showTokenAlert(name, credential: credential)

let parameters = Dictionary<String, AnyObject>()
oauthswift.client.get("https://www.awebsite.com/api/search/shows/ashow", parameters: parameters,
success: {
data, response in
let jsonDict: AnyObject! = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
print(jsonDict)
}, failure: { error in
print(error)
})
}, failure: { error in
print(error.localizedDescription)
})

最佳答案

我回到这里来提供我最终找到的答案。我没有意识到有不同的 types of oauth2 ,用于授权整个应用程序的类型称为“客户端凭据”。并非所有库/pod 都是为这种类型的 oauth 设计的。我找到的工作解决方案是 p2.OAuth2 .

关于ios - 拦截 oauth2 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com