ASWebAuthenticationSession completeHandler не вызывается при проверке подлинности Strava - PullRequest
0 голосов
/ 31 января 2020

ASWebAuthenticationSession completeHandler не вызывается при нажатии кнопки «Авторизоваться» в аутентификации Strava. ниже приведен мой код. (используется Использование ASWebAuthenticationSession для подключения к учетной записи Strava завершается с ошибкой эта ссылка для реализации.)

import AuthenticationServices

class LinkAppsViewController: UIViewController, ASWebAuthenticationPresentationContextProviding{

func authenticate()
    {
        let string = self.createWebAuthUrl()
        guard let url = URL(string: string) else { return }

        self.authSession = ASWebAuthenticationSession(url: url, callbackURLScheme: "localhost/", completionHandler:
        {
            url, error in

        })

        self.authSession!.presentationContextProvider = self

        self.authSession?.start()
    }

    fileprivate func createWebAuthUrl() -> String
    {
        var url = String.init()

        url.append("https://www.strava.com/oauth/mobile/authorize")
        url.append("?client_id=<client id>")
        url.append("&redirect_uri=http://localhost/exchange_token")
        url.append("&response_type=code")
        url.append("&approval_prompt=force")
        url.append("&grant_type=authorization_code")
        url.append("&scope=activity:write,activity:read_all")

        return url
    }

    func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor {
        print(session)
        return view.window!
    }
}

и мой файл info.plist выглядит как enter image description here

...