इस पेज पर, 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. अपना प्रोजेक्ट सेट अप करना
App Check को Google API Console या Firebase कंसोल में जाकर चालू किया जा सकता है. इसे दोनों जगहों पर चालू करना ज़रूरी नहीं है. सिर्फ़ एक जगह पर चालू करना काफ़ी है.
Google API Console
अपने iOS क्लाइंट के लिए App Check को चालू करने के लिए, यहां दी गई ज़रूरी शर्तें पूरी करनी होंगी:- आपको अपने iOS क्लाइंट के लिए टीम आईडी देना होगा.
- आपको अपने बंडल आईडी में वाइल्डकार्ड का इस्तेमाल नहीं करना चाहिए, क्योंकि इससे एक से ज़्यादा ऐप्लिकेशन का पता चल सकता है. इसका मतलब है कि बंडल आईडी में तारा (*) चिह्न शामिल नहीं होना चाहिए.
App Check चालू करने के बाद, आपको OAuth क्लाइंट के 'बदलाव करें' व्यू में, अपने क्लाइंट से मिले OAuth अनुरोधों से जुड़ी मेट्रिक दिखने लगेंगी. जब तक App Check लागू नहीं किया जाता, तब तक बिना पुष्टि वाले सोर्स से किए गए अनुरोधों को ब्लॉक नहीं किया जाएगा. मेट्रिक मॉनिटरिंग पेज पर मौजूद जानकारी से, आपको यह तय करने में मदद मिल सकती है कि नीति उल्लंघन ठीक करने के लिए कब कार्रवाई शुरू करनी है.
iOS ऐप्लिकेशन के लिए ऐप्लिकेशन की जांच करने की सुविधा चालू करते समय, आपको इस सुविधा से जुड़ी गड़बड़ियां दिख सकती हैं. इन गड़बड़ियों को ठीक करने के लिए, यह तरीका आज़माएं:
- पुष्टि करें कि आपने जो बंडल आईडी और टीम आईडी दिया है वह मान्य है.
- पुष्टि करें कि बंडल आईडी के लिए वाइल्डकार्ड का इस्तेमाल न किया जा रहा हो.
Firebase कंसोल
Google Sign-in के साथ App Check का इस्तेमाल करने के लिए, आपके पास Firebase प्रोजेक्ट होना चाहिए.
अगर आपके ऐप्लिकेशन में पहले से ही Firebase का इस्तेमाल किया जा रहा है, तो उसी प्रोजेक्ट का इस्तेमाल करें.
अगर आपका ऐप्लिकेशन Google खाते से साइन इन करने की सुविधा का इस्तेमाल करता है, लेकिन Firebase का नहीं, तो आपके पास पहले से ही एक Google Cloud प्रोजेक्ट है. अपने Google Cloud प्रोजेक्ट में Firebase जोड़ें. इसके लिए, Firebase कंसोल में नया प्रोजेक्ट बनाते समय, Firebase को चुनें
यह भी देखें: Firebase प्रोजेक्ट और Google Cloud के बीच संबंध
अगर आपने पहले से ऐसा नहीं किया है, तो Firebase कंसोल के प्रोजेक्ट सेटिंग पेज का इस्तेमाल करके, अपने iOS ऐप्लिकेशन को Firebase प्रोजेक्ट में जोड़ें.
Firebase कंसोल के App Check सेक्शन में जाकर, App Attest की सेवा देने वाली कंपनी के साथ App Check का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें.
पक्का करें कि आपके प्रोजेक्ट के सभी OAuth क्लाइंट, किसी ऐप्लिकेशन से लिंक हों.
अगर आपने क्लाइंट को अनलिंक किया है, तो आपको App Check पेज के Google Identity for iOS सेक्शन में एक मैसेज दिखेगा. इसमें लिखा होगा, "आपने n OAuth क्लाइंट अनलिंक किए हैं. इनके लिए, आपको अतिरिक्त सेटअप करना होगा."
इसके अलावा, अगर आपने App Check में OAuth क्लाइंट सेट अप करने के बाद, उनमें से कुछ को मिटा दिया है, तो आपको यह मैसेज दिखेगा: "आपके पास n ऐसे ओवरराइड हैं जिनसे मेल खाने वाला कोई OAuth क्लाइंट नहीं है". इन ओवरराइड को मिटाकर, सुरक्षित तरीके से साफ़ किया जा सकता है.
Firebase कंसोल के OAuth क्लाइंट पेज पर जाकर, लिंक नहीं किए गए क्लाइंट को किसी मौजूदा या नए ऐप्लिकेशन से लिंक किया जा सकता है.
2. अपने ऐप्लिकेशन में Google Sign-in लाइब्रेरी जोड़ना
अपने Xcode प्रोजेक्ट में, Google Sign-in की डिपेंडेंसी को
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 Sign-in के लिए App Check की मेट्रिक देखें.
App Check लागू करने की सुविधा चालू करना
जब आपको यह पता चल जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हों, तब App Check लागू करने की सुविधा चालू करें.
डीबग एनवायरमेंट में App Check का इस्तेमाल करना
अगर आपने App Check के लिए अपने ऐप्लिकेशन को रजिस्टर कर लिया है और आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, तो आपके पास अपने ऐप्लिकेशन का डीबग बिल्ड बनाने का विकल्प होता है. जैसे, डेवलपमेंट के दौरान सिम्युलेटर में या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट में. इस बिल्ड में, App Attest के बजाय App Check के डीबग प्रोवाइडर का इस्तेमाल किया जाता है.
डीबग करने की सुविधा देने वाली कंपनी के साथ App Check का इस्तेमाल करना लेख पढ़ें.