इस पेज पर, iOS ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. App Check की सुविधा चालू करने पर, यह पक्का करने में मदद मिलती है कि आपके प्रोजेक्ट की ओर से, Google के OAuth 2.0 एंडपॉइंट को सिर्फ़ आपका ऐप्लिकेशन ऐक्सेस कर सके. इस सुविधा की खास जानकारी देखें.
App Check, App Attest का इस्तेमाल करके यह पुष्टि करता है कि OAuth 2.0 के अनुरोध, आपके असली ऐप्लिकेशन से आ रहे हैं. App Check, धोखाधड़ी के जोखिम का विश्लेषण करने के लिए, App Attest का इस्तेमाल नहीं करता.
शुरू करने से पहले
पक्का करें कि आपके पास Xcode 12.5 या नया वर्शन हो.
Google साइन-इन लाइब्रेरी का इस्तेमाल करके, अपने iOS ऐप्लिकेशन में Google साइन-इन को इंटिग्रेट करें.
1. अपना प्रोजेक्ट सेट अप करना
Google API Console (Google API Console ) या Firebase कंसोल (Firebase Console) में, App Check की सुविधा चालू की जा सकती है. इसे दोनों जगहों पर चालू करना ज़रूरी नहीं है. किसी एक जगह पर चालू करना काफ़ी है.
Google API Console
अपने iOS क्लाइंट के लिए, App Check की सुविधा चालू करने के लिए, यहां बताई गई ज़रूरी शर्तें पूरी करनी होंगी:- आपको अपने iOS क्लाइंट के लिए, टीम आईडी देना होगा.
- आपको अपने बंडल आईडी में वाइल्डकार्ड का इस्तेमाल नहीं करना चाहिए, क्योंकि इससे एक से ज़्यादा ऐप्लिकेशन के लिए आईडी रिज़ॉल्व हो सकता है. इस का मतलब है कि बंडल आईडी में तारामंडल (*) सिंबल शामिल नहीं होना चाहिए.
App Check की सुविधा चालू करने के बाद, आपको OAuth क्लाइंट के बदलाव वाले व्यू में, अपने क्लाइंट से मिले OAuth अनुरोधों से जुड़ी मेट्रिक दिखने लगेंगी. पुष्टि नहीं किए गए सोर्स से मिले अनुरोधों को तब तक ब्लॉक नहीं किया जाएगा जब तक आप App Check लागू नहीं कर देते. मेट्रिक मॉनिटर करने वाले पेज पर मौजूद जानकारी से, यह तय करने में मदद मिल सकती है कि इस सुविधा को कब लागू करना है.
iOS ऐप्लिकेशन के लिए, App Check की सुविधा चालू करते समय, आपको App Check की सुविधा से जुड़ी गड़बड़ियां दिख सकती हैं. इन गड़बड़ियों को ठीक करने के लिए, यह तरीका आज़माएं:
- पुष्टि करें कि आपने जो बंडल आईडी और टीम आईडी दिया है वह मान्य है.
- पुष्टि करें कि आपने बंडल आईडी के लिए वाइल्डकार्ड का इस्तेमाल नहीं किया है.
Firebase कंसोल
Google साइन-इन के साथ App Check की सुविधा का इस्तेमाल करने के लिए, आपके पास Firebase प्रोजेक्ट होना चाहिए.
अगर आपका ऐप्लिकेशन पहले से ही Firebase का इस्तेमाल करता है, तो उसी प्रोजेक्ट का इस्तेमाल करें.
अगर आपका ऐप्लिकेशन Google साइन-इन का इस्तेमाल करता है, लेकिन Firebase का नहीं, तो आपके पास पहले से ही एक Google Cloud प्रोजेक्ट है. Firebase कंसोल में नया प्रोजेक्ट बनाते समय, उसे चुनकर अपने Google Cloud प्रोजेक्ट में Firebase जोड़ें
यह भी देखें: Firebase प्रोजेक्ट और Google Cloud के बीच संबंध
अगर आपने पहले से ऐसा नहीं किया है, तो Firebase कंसोल के प्रोजेक्ट सेटिंग पेज का इस्तेमाल करके, अपने iOS ऐप्लिकेशन को Firebase प्रोजेक्ट में जोड़ें.
Firebase कंसोल के App Check सेक्शन में, App Attest की सुविधा देने वाले प्लैटफ़ॉर्म के साथ App Check की सुविधा का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें.
पक्का करें कि आपके प्रोजेक्ट के सभी OAuth क्लाइंट, किसी ऐप्लिकेशन से लिंक हों.
इसके अलावा, अगर आपने App Check में OAuth क्लाइंट सेट अप करने के बाद, उन्हें मिटा दिया है, तो आपको एक मैसेज दिखेगा. इसमें लिखा होगा, "आपके पास n ऐसे ओवरराइड हैं जिनके लिए कोई मेल खाने वाला OAuth क्लाइंट नहीं है". इन ओवरराइड को मिटाकर, सुरक्षित तरीके से साफ़-सफ़ाई की जा सकती है.
Firebase कंसोल के OAuth क्लाइंट पेज पर, अनलिंक किए गए क्लाइंट को किसी मौजूदा या नए ऐप्लिकेशन से लिंक किया जा सकता है.
2. अपने ऐप्लिकेशन में Google साइन-इन लाइब्रेरी जोड़ना
अपने Xcode प्रोजेक्ट में, Google साइन-इन की डिपेंडेंसी को
8.0.0या इसके बाद के वर्शन पर सेट करें :एसपीएम
googlesignin-iosकी डिपेंडेंसी के नियम को8.0.0या इसके बाद के वर्शन पर सेट करें.CocoaPods
अपनी
Podfileअपडेट करें:source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/firebase/SpecsDev.git' target 'YourAppName' do use_frameworks! pod 'GoogleSignIn','~> 8.0' :git => 'https://github.com/google/GoogleSignIn-iOS.git' pod 'GoogleSignInSwiftSupport' # If you use SwiftUI. endइसके बाद,
pod installचलाएं और बनाई गई.xcworkspaceफ़ाइल खोलें.Xcode में, अपने ऐप्लिकेशन में App Attest की सुविधा जोड़ें.
अपने प्रोजेक्ट की
.entitlementsफ़ाइल में, App Attest एनवायरमेंट कोproductionपर सेट करें.
3. App Check को शुरू करना
अपने ऐप्लिकेशन के डेलिगेट के didFinishLaunchingWithOptions तरीके में, GIDSignIn.sharedInstance.configure(completion:) को कॉल करें. उपयोगकर्ता को दिखने वाली लेटेन्सी को कम करने के लिए, आपको अपने ऐप्लिकेशन के लाइफ़साइकल में इस तरीके को जल्द से जल्द कॉल करना चाहिए.
import SwiftUI
import GoogleSignIn
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
#if targetEnvironment(simulator)
// Configure for debugging.
// See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
#else
GIDSignIn.sharedInstance.configure { error in
if let error {
print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
}
}
#endif
return true
}
}
@main
struct YourAppNameApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
// ...
}
अगले चरण
अपने ऐप्लिकेशन में App Check लाइब्रेरी इंस्टॉल हो जाने के बाद, अपडेट किए गए ऐप्लिकेशन को अपने उपयोगकर्ताओं को डिस्ट्रिब्यूट करना शुरू करें.
अपडेट किया गया क्लाइंट ऐप्लिकेशन, Google के पुष्टि करने वाले एंडपॉइंट को किए जाने वाले हर अनुरोध के साथ, App Check टोकन भेजने लगेगा. हालांकि, जब तक Firebase कंसोल के App Check सेक्शन में, इस सुविधा को लागू नहीं किया जाता, तब तक एंडपॉइंट के लिए टोकन का मान्य होना ज़रूरी नहीं होगा.
मेट्रिक मॉनिटर करना
हालांकि, इस सुविधा को लागू करने से पहले, आपको यह पक्का करना चाहिए कि ऐसा करने से, आपके मौजूदा असली उपयोगकर्ताओं को कोई समस्या न हो. दूसरी ओर, अगर आपको अपने ऐप्लिकेशन के संसाधनों का संदिग्ध इस्तेमाल दिख रहा है, तो आपको इस सुविधा को जल्द लागू करना चाहिए.
यह फ़ैसला लेने में मदद पाने के लिए, Google साइन-इन के लिए App Check की मेट्रिक देखी जा सकती हैं.
App Check की सुविधा लागू करना
जब आपको यह समझ आ जाए कि App Check की सुविधा से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हों, तब आप App Check की सुविधा लागू कर सकते हैं.
डीबग एनवायरमेंट में App Check का इस्तेमाल करना
अगर आपने App Check के लिए अपना ऐप्लिकेशन रजिस्टर कर लिया है और आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. जैसे, डेवलपमेंट के दौरान सिम्युलेटर या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट. इस बिल्ड में, App Attest के बजाय App Check की सुविधा देने वाले प्लैटफ़ॉर्म का इस्तेमाल किया जा सकता है.
डीबग की सुविधा देने वाले प्लैटफ़ॉर्म के साथ App Check का इस्तेमाल करना देखें.