gpt4 book ai didi

ios - 授权回调地址 GitHub

转载 作者:行者123 更新时间:2023-11-28 11:55:00 32 4
gpt4 key购买 nike

我是 iOS 开发新手。我创建了一个使用 GitHub 授权的应用程序。当我在 GitHub 开发者程序中注册一个新的 OAuth 应用程序时,我必须输入授权回调 URL。但是我的应用程序没有任何网站。我需要在此字段中指定什么?

最佳答案

您可以使用深层链接。

您可以阅读更多相关信息 here

深层链接将尝试打开应用程序或重定向到该应用程序。 Web 浏览器或 SFAuthenticationSession 将关闭浏览器并调用完成处理程序,您可以在其中检查响应代码而无需任何深度链接实现。

要在应用中添加深层链接,您可以执行以下操作:

  • 在 Xcode 导航器中选择项目。
  • 然后选择要向其添加深层链接的目标。
  • 从顶部栏中选择信息
  • 在底部打开 URL 类型
  • 为方案添加名称

add deeplink

当你为 oauth 生成 URL 时,你可以传递任何你想要的东西,在这个例子中我只传递登录:

func getAuthenticateURL() -> URL {

var urlComponent = URLComponents(string: "https://github.com/login/oauth/authorize")!

var queryItems = urlComponent.queryItems ?? []

queryItems.append(URLQueryItem(name: "client_id", value: "YOUR_CLIENT_ID_HERE"))
queryItems.append(URLQueryItem(name: "redirect_uri", value: "APP_SCHEME_GOES_HERE://login"))

urlComponent.queryItems = queryItems

return urlComponent.url!
}

然后当您需要登录时执行此操作:

import SafariServices

var authSession: SFAuthenticationSession?

func authenticate(with url: URL, completion: @escaping ((_ token: String?, _ error: Error?) -> Void)) {

authSession?.cancel()

authSession = SFAuthenticationSession(url: url, callbackURLScheme: nil, completionHandler: { url, error in

//get the token and call the completion handler
})

authSession?.start()
}

或者如果您使用的是 iOS 12,则以相同的方式使用 ASWebAuthenticationSession

关于ios - 授权回调地址 GitHub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51271217/

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