Otentikasi pengguna adalah persyaratan mendasar di hampir semua aplikasi seluler perusahaan. Untuk aplikasi seluler internal seperti yang terkait dengan penggajian, cuti dan pemesanan perjalanan bisnis, organisasi ingin memanfaatkan satu -.-on-on dengan mengotentikasi pengguna terhadap server LDAP di lokasi. Dan untuk aplikasi yang ditargetkan untuk pengguna akhir di mana data perusahaan tidak diekspos seperti, aplikasi untuk pengguna produk yang memungkinkan mereka untuk meningkatkan permintaan layanan, memungkinkan pengguna untuk mengotentikasi menggunakan login sosial mereka seperti login Facebook/login Google akan jauh lebih mudah. Pola kode ini menunjukkan bagaimana pengembang dapat memanfaatkan layanan IBM Mobile Foundation untuk mengimplementasikan mekanisme otentikasi pengguna berikut:
Ketika Anda telah menyelesaikan pola kode ini, Anda akan mengerti:

Diagram di atas menggambarkan aliran login (di sini dijelaskan dengan Google tetapi juga relevan dengan Facebook atau penyedia sosial lainnya). Diagram menunjukkan bahwa pemicu untuk memanggil penyedia sosial diprakarsai oleh klien.

1. Pengaturan Ionik dan MobileFoundation CLI
2. Buat database cloudant dan isi dengan data sampel
3. Buat Layanan Penyimpanan Objek Cloud IBM dan hasilkan dengan data sampel
4. Buat layanan yayasan seluler dan konfigurasikan MFP CLI
5. Setup LDAP Server dan Secure Gateway Client
6. Daftarkan aplikasi Android dengan Google dan Facebook untuk login sosial
7. Unduh sumber repo dan sesuaikan
7.1 Klon Repo
7.2 Perbarui ID Aplikasi, Nama dan Deskripsi
7.3 Tentukan kredensial cloudant di Adaptor MobileFoundation
7.4 Tentukan kredensial penyimpanan objek cloud di Adaptor MobileFoundation
7.5 Tentukan kredensial LDAP di Adaptor MobileFoundation
7.6 Tentukan kredensial masuk Google di Adaptor Moilefoundation
7.7 Tentukan Facebook Appid dan Google ClientId di Aplikasi Ionik
8. Menyebarkan adaptor dan tes mobile
8.1 Bangun dan sebarkan adaptor mobileFoundation
8.2 Luncurkan MobileFoundation Dashboard dan Verifikasi Konfigurasi Adaptor
9. Jalankan aplikasi di ponsel android
Proyek ini dibangun di atas https://github.com/ibm/ionic-mfp-app. Jalankan langkah -langkah berikut dari proyek dasar itu untuk menyediakan layanan backend seluler yang diperlukan dari IBM Cloud dan mengisinya dengan data sampel, serta untuk mengatur CLI ionik dan mobilefoundation pada mesin pengembangan Anda.
Langkah 1. Pengaturan Ionik dan MobileFoundation CLI
Langkah 2. Buat database cloudant dan isi dengan data sampel
Langkah 3. Buat Layanan Penyimpanan Objek Cloud IBM dan isi dengan data sampel
Langkah 4. Buat Layanan Yayasan Seluler dan Konfigurasikan MobileFoundation CLI
Jika Anda memiliki pengaturan dan berjalan server LDAP perusahaan Anda, Anda dapat melewatkan bagian lain dari bagian ini dan pindah ke bagian 'Pengaturan Secure Gateway Client'. Jika Anda tidak memiliki pengaturan server LDAP, Anda dapat mencoba menginstal Apacheds - https://directory.apache.org/apacheds. Panduan Instalasi dan Pengaturan Dasar untuk Apacheds tersedia di-https://directory.apache.org/apacheds/basic-user-guide.html (silakan lihat bagian 1). Impor data sampel yang tersedia di sini dengan langkah -langkah berikut di sini. Tambahkan entri baru dengan detail Anda, misalnya,
Untuk dapat mengakses server LDAP di tempat Anda dari dalam server yayasan seluler yang berjalan di IBM Cloud, kami harus terlebih dahulu membuat koneksi gateway yang aman antara server LDAP di tempat dan cloud IBM sesuai langkah berikut:
Masuk ke IBM Cloud. Klik
Catalog > All Categories > Integration > Secure Gateway > Create
Di dalam dasbor layanan gateway aman, klik Add Gateway . Tentukan nama dan klik Add Gateway . Klik ikon untuk gateway yang baru saja Anda tambahkan.
Klik Add Clients . Biarkan pilihan default dari IBM Installer AS-IS. Catat Gateway ID dan Security Token .
Salin URL Unduh untuk Penginstal Klien Gateway Aman untuk OS tempat server LDAP berjalan.
Masuk ke mesin di tempat tempat server LDAP berjalan. Unduh penginstal klien Secure Gateway menggunakan URL unduhan yang diperoleh dari Secure Gateway Dashboard. Instal dan mulailah klien Gateway Aman dengan menggunakan instruksi yang tersedia di sini.
Tambahkan server LDAP sebagai tujuan di klien Secure Gateway menggunakan instruksi yang tersedia di sini. Jika tujuan yang baru ditambahkan menunjukkan tangan yang terangkat dalam warna merah dengan Access blocked by ACL , maka pastikan Anda telah menjalankan acl allow < host >:< port > di baris perintah klien gateway aman.
hostname:port server LDAP. 

$ git clone https://github.com/IBM/MFP-Auth-LDAP
$ cd MFP-Auth-LDAP
Perbarui IonicMobileApp/config.xml seperti di bawah ini. Ubah id , name , description dan Detail author dengan tepat.
<?xml version='1.0' encoding='utf-8'?>
<widget id="org.mycity.myward" version="2.0.0" xmlns="https://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:mfp="http://www.ibm.com/mobilefirst/cordova-plugin-mfp">
<name>MyWard</name>
<description>Get your civic issues resolved by posting through this app.</description>
<author email="[email protected]" href="https://developer.ibm.com/code/author/shivahr/">Shiva Kumar H R</author>
...
Open MobileFoundationAdapters/MyWardData/src/main/adapter-resources/adapter.xml dan perbarui properti berikut untuk menunjuk ke database Cloudant yang dibuat pada Langkah 2.
key dan password dengan Kunci API Cloudant seperti yang dihasilkan pada Langkah 2.2.account properti, tentukan porsi URL dasbor cloudant upto (dan termasuk) -bluemix.cloudant.com seperti yang ditunjukkan pada snapshot langkah 2.2.DBName properti, tinggalkan nilai default myward AS-Is.
<mfp:adapter name="MyWardData" ...>
<property name="account" displayName="Cloudant account" defaultValue=""/>
<property name="key" displayName="Cloudant key" defaultValue=""/>
<property name="password" displayName="Cloudant password" defaultValue=""/>
<property name="DBName" displayName="Cloudant DB name" defaultValue="myward"/>
...
</mfp:adapter>
Open MobileFoundationAdapters/MyWardData/src/main/adapter-resources/adapter.xml dan perbarui properti berikut untuk menunjuk ke penyimpanan objek cloud yang dibuat pada Langkah 3.
bucketName seperti yang dibuat pada langkah 3.1.serviceId dan apiKey yang dibuat pada langkah 3.2.endpointURL sesuai spesifikasi di https://cloud.ibm.com/docs/services/cloud-object-storage/basics/endpoints.html#select-egion-dregion-andpoints.
<mfp:adapter name="MyWardData" ...>
...
<property name="endpointURL" displayName="Cloud Object Storage Endpoint Public URL" defaultValue="https://s3-api.us-geo.objectstorage.softlayer.net"/>
<property name="bucketName" displayName="Cloud Object Storage Bucket Name" defaultValue=""/>
<property name="serviceId" displayName="Cloud Object Storage Service ID" defaultValue="" />
<property name="apiKey" displayName="Cloud Object Storage API Key" defaultValue=""/>
</mfp:adapter>
Open MobileFoundationAdapters/LDAPLoginAdapter/src/main/adapter-resources/adapter.xml dan perbarui properti berikut untuk menunjuk ke klien gateway aman yang dibuat pada langkah 5.2
<property name="ldapUserAttribute" defaultValue="uid" displayName="The LDAP attribute for username"/>
<property name="ldapNameAttribute" defaultValue="cn" displayName="The LDAP attribute for display name"/>
<property name="ldapURL" defaultValue="ldap://caplonsgprd-5.integration.ibmcloud.com:15315" displayName="The LDAP Server URL"/>
<property name="userFilter" defaultValue="(&(uid=%v))" displayName="The LDAP user filter, use %v as placeholder for user"/>
<property name="bindDN" defaultValue="uid=admin,ou=system" displayName="The LDAP bind DN (- for none)"/>
<property name="bindPassword" defaultValue="apacheds" displayName="The LDAP bind password (- for none)" type="string"/>
Open MobileFoundationAdapters/SocialLoginAdapter/src/main/adapter-resources/adapter.xml dan perbarui Google Client-ID yang dibuat pada Langkah 6 seperti yang ditunjukkan di bawah ini
<property name="google.clientId"
defaultValue="618106571370-nie902ccc0i3id6sgdu4nc58bslabcde.apps.googleusercontent.com"
displayName="google client Id"
description="OAuth 2.0 client ID that was created for your server. Get it from Google Developers Console
at https://console.developers.google.com/projectselector/apis/credentials"/>
Instal plugin Facebook Cordova dan Ionic dan plugin GooglePlus menggunakan perintah berikut (Python2 adalah prasyarat)
$ ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="your_appid_from_step6" --variable APP_NAME="your application name"
$ npm install --save @ionic-native/facebook
$ ionic cordova plugin add cordova-plugin-googleplus --variable REVERSED_CLIENT_ID="reverseclientid_from_step6"
$ npm install --save @ionic-native/google-plus
Setelah plugin Facebook dan GooglePlus diinstal, periksa apakah ID Aplikasi Facebook dan Google WebClientID yang diperoleh pada Langkah 6 hadir dalam file config.xml seperti yang ditunjukkan di bawah ini
<plugin name="cordova-plugin-facebook4" spec="^1.9.1">
<variable name="APP_ID" value="your_appid" />
<variable name="APP_NAME" value="MyWard" />
</plugin>
<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
<variable name="REVERSED_CLIENT_ID" value="your_reverse_clientid" />
</plugin>
REVERSED_CLIENT_ID adalah bentuk terbalik dari Google WebClientID yang diperoleh pada Langkah6.
Juga tambahkan WebClientID di file auth_handler.ts dalam metode GooglePlusLogin ().
Bangun dan gunakan adaptor MyWardData seperti di bawah ini.
$ cd MobileFoundationAdapters/
$ cd MyWardData
$ mfpdev adapter build
$ mfpdev adapter deploy
CATATAN- Jika server bukan yang default, harap sebutkan nama server 'MFPDEV Adapter Deploy Command' di perintah.
Bangun dan gunakan adaptor LDAPLoginAdapter seperti di bawah ini.
$ cd ../LDAPLoginAdapter/
$ mfpdev adapter build
$ mfpdev adapter deploy
Bangun dan gunakan adaptor SocialLoginAdapter seperti di bawah ini.
$ cd ../SocialLoginAdapter/
$ mfpdev adapter build
$ mfpdev adapter deploy
Luncurkan Dasbor MobileFoundation Seperti di bawah ini:
Cloud Foundry Services , klik pada Layanan Mobile Foundation yang Anda buat di Langkah 4. Halaman Gambaran Umum Layanan yang ditampilkan, akan memiliki dasbor MobileFoundation yang terikat di dalamnya. Anda juga dapat membuka dasbor MobileFoundation di tab browser terpisah dengan menambahkan /mfpconsole ke URL yang disebutkan pada Langkah 4.LDAPLoginAdapter , SocialLoginAdapter dan adaptor MyWardData terdaftar.Verifikasi konfigurasi adaptor adaptor mobilefoundation seperti di bawah ini:
MyWardData . Di bawah tab Configurations , Anda akan melihat berbagai properti yang kami tentukan pada Langkah 7.3 dan Langkah 7.4 untuk mengakses database cloudant dan penyimpanan objek cloud seperti yang ditunjukkan di bawah ini. Sebagai alternatif untuk menentukan nilai-nilai properti di MobileFoundationAdapters/MyWardData/src/main/adapter-resources/adapter.xml seperti yang ditunjukkan sebelumnya pada langkah 7.3 dan langkah 7.4, Anda dapat menggunakan adaptor dengan defaultValue kosong, dan setelah adaptor dikerahkan, ubah nilai-nilai pada halaman ini. 
Resources . Anda harus melihat berbagai API REST yang diekspos oleh adaptor MyWardData seperti yang ditunjukkan di bawah ini. Kolom Security harus menunjukkan Lapisan Lingkup UserLogin terhadap setiap metode REST. 


Ikuti instruksi di Langkah 7 Proyek Dasar untuk menjalankan aplikasi di ponsel Android. Alih-alih UserLogin biasa, uji tombol masuk Google atau tombol masuk FB atau tombol LDAPLOGIN. Berdasarkan tombol yang dipilih, mekanisme validasi otentikasi pengguna akan bervariasi.

Tangkapan layar di bawah ini menunjukkan berbagai halaman aplikasi.



Silakan lihat instruksi untuk debugging aplikasi hybrid android menggunakan alat pengembang chrome atau panduan pemecahan masalah untuk solusi untuk beberapa masalah yang biasa terjadi.
Apache 2.0