Swiftyinsta: Masalah login pengguna baru

Dibuat pada 7 Agu 2019  ·  6Komentar  ·  Sumber: TheM4hd1/SwiftyInsta

coba masuk dengan pengguna baru terdaftar yang baru. login web tidak selesai terkadang secara acak. Instagram menampilkan halaman saran pengguna yang berbeda. Saya mencoba mengikuti 1 pengguna, juga 1 pengguna mengikuti saya (ini menunjukkan umpan tetapi tidak berfungsi) sebagian besar login web tidak selesai untuk pengguna ini. Setelah mencoba 2-3 kali untuk login mungkin berhasil.

  • no 2FA - login langsung dengan kata sandi
help wanted

Semua 6 komentar

Ketika Anda mengatakan baru terdaftar, maksud Anda itu terjadi saat mendaftar dari tampilan web, atau saat masuk ke akun yang baru saja dibuat tetapi di tempat lain? @canaksoy
Hanya untuk memahami bagaimana mencoba dan menirunya 😊

Either way, memeriksa secara langsung untuk cookies, bukannya setiap url yang diberikan, mungkin memperbaiki (dengan asumsi mereka sudah siap sebelum mencapai halaman saran tersebut). Saya mengirim permintaan tarik ASAP.

Periksa # 76, @canaksoy 💪

Perubahan utama, selain tidak benar-benar memeriksa instagram.com tetapi hanya untuk cookie yang valid, saya telah membuat semua init proses async , agar tidak merusak dukungan multi akun ( Saya berencana untuk menangani ini dengan benar di 2.0 , baik mengembalikan UIViewController atau sesuatu seperti LoginManager membuat tampilan web).

Saya menunggu persetujuan @TheM4hd1 untuk benar-benar menggabungkannya 😊

Ternyata LoginWebView masih berfungsi bahkan dalam kasus yang dijelaskan oleh @canaksoy di atas (saya telah mengujinya sendiri dan memeriksa tangkapan bug untuk help wanted satu.
Tetap saja, PR bermanfaat untuk pemeriksaan masa depan semuanya, dan itu harus digabungkan.

Untuk referensi di masa mendatang ... perilaku barunya adalah ini.
(@mkeshoda)

class LoginViewController: UIViewController {
    var webView: InstagramLoginWebView? {
        didSet {
            oldValue?.removeFromSuperview()
            guard let webView = webView else { return }
            // add to view hierarchy (NECESSARY).
            view.addSubview(webView)
            // always request log in page when setting a new web view.
            webView.loadInstagramLogin()
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // create a new `InstagramLoginWebView`.
        InstagramLoginWebView.create(with: view.bounds,
                                     completionHandler: { _, _ in /* deal with login and failures */ },
                                     returnHandler: { [weak self] in self?.webView = $0 })
    }
}

Untuk referensi di masa mendatang ... perilaku barunya adalah ini.
(@mkeshoda)

class LoginViewController: UIViewController {
    var webView: InstagramLoginWebView? {
        didSet {
            oldValue?.removeFromSuperview()
            guard let webView = webView else { return }
            // add to view hierarchy (NECESSARY).
            view.addSubview(webView)
            // always request log in page when setting a new web view.
            webView.loadInstagramLogin()
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // create a new `InstagramLoginWebView`.
        InstagramLoginWebView.create(with: view.bounds,
                                     completionHandler: { _, _ in /* deal with login and failures */ },
                                     returnHandler: { [weak self] in self?.webView = $0 })
    }
}

Saya melakukan hal yang persis sama tetapi setelah masuk didSuccessfullyLogIn dan completionHandler tidak berfungsi

Baru saja melakukan sedikit debug dan mengetahui bahwa saya tidak dapat masuk karena filtered.count = 1 . isUserLoggedIn(instagramCookies: [HTTPCookie]?) hanya menerima 2 kue

let filtered = cookies.filter {
            !$0.value.isEmpty
                && $0.properties?[.init(rawValue: "Created")] as? TimeInterval ?? 0 > startedAt.timeIntervalSinceReferenceDate
                && ($0.name == "ds_user_id" || $0.name == "csrftoken" || $0.name == "sessionid") }
        guard filtered.count >= 3 else { return }

Bisakah Anda membuka masalah baru dengannya dan menjelaskan aliran Anda? @mkeshoda
Karena sayangnya 3 cookie itu sangat dibutuhkan, jadi tidak ada yang bisa kami lakukan untuk memperbaikinya… secara harfiah berarti "Anda telah masuk".
Dan itu aneh karena jika itu berhasil sebelumnya, itu harus bekerja dengan baik sekarang (sudah diperiksa setidaknya 2 dari mereka). Saya telah menguji dengan 4 akun berbeda dan semuanya tampaknya berfungsi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

effecttwins picture effecttwins  ·  16Komentar

sbertix picture sbertix  ·  8Komentar

sbertix picture sbertix  ·  27Komentar

trentona picture trentona  ·  3Komentar

biox86 picture biox86  ·  12Komentar