ঠিক আছে, আমার এই ত্রুটিটি ছিল এবং আমার রুবির সাথে রেল অ্যাপ্লিকেশনটিতে যোগাযোগ করার সময় এটি দীর্ঘ সময় ধরে (বছর) লড়াই করেছিলাম।
গ্রহণযোগ্য উত্তরে বর্ণিত হিসাবে আমার ডিফল্ট শংসাপত্রগুলি সেট আপ ছিল, তবে ত্রুটিটি পেয়েছে এবং শংসাপত্রগুলি সরবরাহ করার জন্য একটি ডিআরসিপচ্যালেনজ প্রতিক্রিয়ার উপর নির্ভর করে চলেছি - ভাগ্যক্রমে এটি প্রায় কাজ হিসাবে কাজ করেছিল।
কিন্ত! আমি সবেমাত্র সমাধান খুঁজে পেয়েছি!
আমি একটি কুঁচকিতে কাজ করছিলাম যে সুরক্ষিত স্পেস ক্ষেত্রগুলি রবি অন রেলস সার্ভার থেকে অনুমোদনের চ্যালেঞ্জের সাথে মেলে না - এবং আমি বাস্তব ক্ষেত্রের দিকে নজর রেখেছিলাম, যা মনে হয় কেবলমাত্র একমাত্র অপরিবর্তিত ছিল।
আমি সার্ভারের প্রতিক্রিয়া শিরোনামগুলি মুদ্রণ করে শুরু করেছি এবং যদিও আমি এগুলি পরীক্ষা করতে সক্ষম হয়েছি তবে তারা ডাব্লুডাব্লুডাব্লু-অনুমোদনের ক্ষেত্রকে অন্তর্ভুক্ত করেনি যা বাস্তব ক্ষেত্রটি অন্তর্ভুক্ত করে।
আমি ভেবেছিলাম এটি হতে পারে কারণ আমার রেলস অ্যাপ্লিকেশনটি রাজ্যটিকে নির্দিষ্ট করে দেয় নি, তাই আমি রেলগুলির দিকে নজর দিতে শুরু করি।
আমি খুঁজে পেয়েছি যে কলটিতে আমি ক্ষেত্রটি নির্দিষ্ট করতে পেরেছি,
authenticate_or_request_with_http_basic
... যা আমি HTTP বেসিক প্রমাণীকরণের জন্য ব্যবহার করছি।
আমি ইতিমধ্যে কোনও রাজ্যের উল্লেখ করছিলাম না, তাই একটি যুক্ত করা হয়েছে,
authenticate_or_request_with_http_basic("My Rails App")
আমি সুরক্ষাস্পেসে সংশ্লিষ্ট স্ট্রিং যুক্ত করেছি,
NSURLProtectionSpace *protectionSpace =
[[NSURLProtectionSpace alloc] initWithHost:@"myrailsapp.com"
port:443
protocol:NSURLProtectionSpaceHTTPS
realm:@"My Rails App"
authenticationMethod:NSURLAuthenticationMethodHTTPBasic];
ভাল খবর! এটি কাজ করেছে, এবং আমি আর পাই না,
CredStore - performQuery - Error copying matching creds. Error=-25300
এমনকি রেলস অ্যাপে রাজ্যটি নির্দিষ্ট করার পরেও, এখনও আমি এটি HTTP শিরোনামে পাস হতে দেখছি না, আমি জানি না কেন, তবে কমপক্ষে এটি কার্যকর হয়।