Интегрируйте аутентификацию LinkedIn в Firebase Auth в iOS, используя Swift - PullRequest
0 голосов
/ 18 октября 2018

Я довольно новичок здесь, но я развиваюсь быстро (версия 4) в течение приблизительно 3 месяцев.Итак, у меня есть проблема с реализацией аутентификации LinkedIn с использованием веб-представления, так как я не хочу использовать аутентификацию с необходимостью приложения LinkedIn - UX.

Я использовал следующие руководства для достижения этой цели, но мне удалось добраться до точки получения токена доступа только с ошибкой застрять в процессе входа в систему.Когда я отладил приложение, я смог получить токен доступа, но контроллер представления для веб-представления не отклоняет его.

Это руководства, которые я использовал:

Проблемы:

  1. Невозможно закрыть контроллер представления послеполучение токена доступа.
  2. Где взять необходимый «пользовательский токен», используя токен доступа, который есть у меня для пользовательской аутентификации Firebase.

Фрагмент кода для Выпуск # 1

    // Initialize a NSURLSession object.
    let session = URLSession(configuration: URLSessionConfiguration.default)

    // Make the request.
    let task: URLSessionDataTask = session.dataTask(with: request) { (data, response, error) -> Void in

        // Get the HTTP status code of the request.
        let statusCode = (response as! HTTPURLResponse).statusCode

        if statusCode == 200 {
            // Convert the received JSON data into a dictionary.
            do {
                let dataDictionary = try JSONSerialization.jsonObject(with: data!, options: []) as! [String : AnyObject]

                let accessToken = dataDictionary["access_token"] as! String

                UserDefaults.standard.set(accessToken, forKey: "LIAccessToken")
                UserDefaults.standard.synchronize()

//              Custom Firebase Auth
//              Auth.auth().signIn(withCustomToken: UserDefaults.standard.string(forKey: "LIAccessToken")!) { (user, error) in
//                  if let error = error {
//                        print(error)
//                        return
//                  }
//
//              }

                DispatchQueue.main.async {
                    self.dismiss(animated: true, completion: nil)
                }
            } catch {
                print("Could not convert JSON data into a dictionary.")
            }
        }
    }

    task.resume()

Заранее спасибо за любую помощь!Я надеюсь, что смогу помочь тем, у кого такие же проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...