Swiftyinsta: مشكلة تسجيل دخول مستخدم جديدة

تم إنشاؤها على ٧ أغسطس ٢٠١٩  ·  6تعليقات  ·  مصدر: TheM4hd1/SwiftyInsta

حاول تسجيل الدخول باستخدام مستخدم جديد مسجل. لم يكتمل تسجيل الدخول إلى الويب أحيانًا بشكل عشوائي. يُظهر Instagram صفحة اقتراح مستخدم مختلفة. أحاول متابعة مستخدم واحد ، كما تبعني مستخدم واحد (يظهر موجز ويب ولكنه لم يعمل) لم يتم إكمال تسجيل الدخول إلى الويب لهذا المستخدم في الغالب. بعد محاولة تسجيل الدخول مرتين أو ثلاث مرات ، قد يعمل.

  • لا 2FA - تسجيل الدخول المباشر بكلمة مرور
help wanted

ال 6 كومينتر

عندما تقول أنك مسجل حديثًا ، هل تقصد أن هذا يحدث عند التسجيل من عرض الويب ، أو عند تسجيل الدخول إلى حساب تم إنشاؤه للتو ولكن في مكان آخر؟ تضمين التغريدة
فقط لفهم كيفية محاولة تكرارها 😊

في كلتا الحالتين ، قد يكون التحقق مباشرةً من ملفات تعريف الارتباط ، بدلاً من أي عنوان URL معين ، بمثابة إصلاح (بافتراض أنها جميعًا تم تعيينها قبل الوصول إلى صفحة الاقتراح المذكورة أعلاه). أرسل طلب سحب في أسرع وقت ممكن.

تحقق من رقم 76 ، canaksoy 💪

التغيير الرئيسي ، بخلاف عدم التحقق الفعلي من instagram.com ولكن فقط لملفات تعريف الارتباط الصالحة ، قمت بإجراء كل عملية init async ، حتى لا يتم كسر دعم الحسابات المتعددة ( أخطط للتعامل مع هذا بشكل صحيح في 2.0 ، إما بإرجاع UIViewController أو شيء مثل LoginManager لإنشاء عرض الويب).

أنا في انتظار موافقة @ TheM4hd1 لدمجها بالفعل 😊

تبين أن LoginWebView لا يزال يعمل حتى في الحالة الموضحة بواسطة canaksoy أعلاه (لقد اختبرته بنفسي bug مقابل help wanted واحد.
ومع ذلك ، فإن العلاقات العامة مفيدة لإثبات كل شيء في المستقبل ، ويجب دمجها في imho.

للرجوع إليها في المستقبل ... السلوك الجديد هو هذا.
(mkeshnoda)

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 })
    }
}

للرجوع إليها في المستقبل ... السلوك الجديد هو هذا.
(mkeshnoda)

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 })
    }
}

فعلت بالضبط نفس الشيء ولكن بعد قطع الأشجار في didSuccessfullyLogIn وcompletionHandler لا يعمل 😭

لقد أجريت بعض التصحيح واكتشفت أنه لا يمكنني تسجيل الدخول بسبب filtered.count = 1 . isUserLoggedIn(instagramCookies: [HTTPCookie]?) 2 من ملفات تعريف الارتباط فقط

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 }

هل يمكنك فتح مشكلة جديدة به وشرح طريقة سيرك؟ تضمين التغريدة
لأنه للأسف هناك حاجة ماسة إلى ملفات تعريف الارتباط الثلاثة هذه ، لذلك لا يمكننا فعل أي شيء لإصلاحها ... فهي تعني حرفياً "تم تسجيل دخولك".
وهذا سبب غريب إذا نجح من قبل ، فيجب أن يعمل جيدًا الآن (تم التحقق بالفعل من اثنين منهم على الأقل). لقد اختبرت مع 4 حسابات مختلفة ويبدو أنها تعمل جميعًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

sbertix picture sbertix  ·  27تعليقات

trentona picture trentona  ·  3تعليقات

sbertix picture sbertix  ·  3تعليقات

reefer picture reefer  ·  18تعليقات

biox86 picture biox86  ·  12تعليقات