Identitas mandiri adalah identitas portabel seumur hidup bagi siapa pun, organisasi, atau hal yang tidak bergantung pada otoritas terpusat dan tidak pernah dapat diambil. Identitas mandiri adalah model hubungan dua partai, tanpa tidak ada pihak ketiga yang datang antara Anda dan organisasi, sekarang dianggap "rekan" Anda.
SSI dimungkinkan hari ini dengan Dids dan kredensial yang dapat diverifikasi.
Do adalah jenis baru pengidentifikasi unik global (URI) yang tidak memerlukan otoritas pendaftaran terpusat karena kontrol pengidentifikasi dapat dibuktikan menggunakan kriptografi. Anda dapat menganggapnya seperti salah satu pengidentifikasi yang lebih kami kenal - nama domain atau nomor telepon - tanpa pendaftar pusat seperti ICANN atau NANP.
Verifikasi Credential (VC) adalah format baru untuk kredensial digital yang dapat dioperasikan yang didefinisikan oleh kelompok kerja klaim W3C yang dapat diverifikasi. Kredensial yang dapat diverifikasi sesuai dengan model data kredensial W3C yang dapat diverifikasi, dan mereka memfasilitasi interaksi menggunakan pola yang disebut segitiga kepercayaan:
Penerbit membuat kredensial, biasanya dengan memiliki dokumen JSON secara digital ditandatangani dengan cara khusus. Pemegang menyimpannya, dan verifikasi meminta bukti berdasarkan mereka. Presentasi yang dapat diverifikasi yang disediakan oleh pemegang kepada verifikasi adalah paket bukti - baik kredensial, atau data yang berasal dari satu atau lebih kredensial - dibangun oleh pemegang untuk memenuhi persyaratan verifier. Verifiers belajar dengan pasti penerbit mana yang membuktikan sesuatu dengan memeriksa tanda tangan digital terhadap registri data yang dapat diverifikasi (biasanya, blockchain).
React MSDK dibangun menggunakan Evernym Mobile SDK sebagai paket asli React Aries yang kompatibel yang memungkinkan pembangunan cepat dompet digital yang disesuaikan (sepenuhnya di bawah kendali Anda) yang mewakili sisi pemegang dalam model kredensial yang dapat diverifikasi.
Dengan SDK seluler yang bereaksi asli, aplikasi Anda dapat:
Aplikasi Wallet Identity memungkinkan berbagai kasus penggunaan, termasuk membuktikan bahwa Anda sudah berusia di atas legal tanpa mengungkapkan tanggal lahir Anda yang tepat, berbagi catatan kesehatan secara pribadi dan aman, dan menghilangkan konsep nama pengguna-dan-pass satu dan untuk semua sekali.
Untuk pengujian dompet identitas Anda, Anda dapat menggunakan Verity SDK yang mewakili sisi komunikasi yang berlawanan.
Di repositori SDK SDK dan Verity SDK Evernym Anda dapat menemukan banyak informasi berguna mengenai membangun dompet identitas dan proses pertukaran kredensial yang dapat diverifikasi.
Untuk membuat proyek baru, Anda harus melalui langkah -langkah berikut.
Buat proyek Native Native yang baru. Kami akan menyebutnya awesomeMsdkProject untuk panduan ini.
npx react-native init awesomeMsdkProject --version 0.65.1 Catatan : Anda perlu menggunakan versi yang sama dari react-native seperti yang ditentukan dalam bagian peerDependencies dari file package.json untuk evernym react-native-sdk. Versi reaksi-asli yang saat ini direkomendasikan adalah 0.65.1 . Dengan menggunakan versi yang berbeda, Anda mengambil risiko memiliki masalah dengan SDK.
Untuk memasukkan SDK dalam aplikasi baru Anda, Anda perlu mengatur ketergantungannya.
Ganti bagian dependensi hanya menyisakan @evernym/react-native-white-label-app apping ke package.json Anda.json.
"dependencies" : {
"@evernym/react-native-white-label-app" : " https://gitlab.com/evernym/mobile/react-native-white-label-app.git " ,
}, Ketergantungan asli harus dimasukkan ke dalam dependensi aplikasi (lihat masalah). Mereka terdaftar sebagai dependensi sebaya di SDK.
Tambahkan semua dependensi rekan dari @evernym/react-native-white-label-app ke bagian dependencies dari package.json aplikasi Anda.json.
"dependencies" : {
"@react-native-community/async-storage" : " x " ,
...
"react-native-zip-archive" : " x " ,
"react-native" : " 0.65.1 " ,
"rn-fetch-blob" : " x " ,
...
}, Tambahkan semua devDependencies dari @evernym/react-native-white-label-app ke bagian devDependencies dari package.json aplikasi Anda.json.
"devDependencies" : {
...
"copyfiles" : " x "
}, Tambahkan perintah berikut ke bagian scripts Anda dari package.json aplikasi Anda.json:
"scripts" : {
...
"evernym-sdk:configure" : " yarn --cwd node_modules/@evernym/react-native-white-label-app run configure "
}, Perintah ini akan menambahkan modul yang diperlukan untuk kustomisasi aplikasi di masa mendatang melalui evernym-sdk .
Sekarang Anda dapat menginstal semua dependensi dan melakukan konfigurasi otomatis, jalankan perintah berikut di direktori proyek Anda:
yarn
yarn evernym-sdk:configure Ini akan menginstal semua dependensi dan menambahkan modul yang diperlukan ke Direktori awesomeMsdkProject/app/evernym-sdk .
Hapus App.js default dan letakkan yang berikut di index.js :
import * as EvernymSdk from '@evernym/react-native-white-label-app' ;
import { name as appName } from './app.json' ;
EvernymSdk . createApp ( appName ) ; Arahkan ke file app/evernym-sdk/provision.js dan tentukan lingkungan yang akan digunakan oleh aplikasi dan fungsi Anda untuk dipanggil untuk mendapatkan token penyediaan.
Perhatikan bahwa lingkungan aplikasi harus cocok dengan lingkungan di mana server sponsor terdaftar.
Misalnya, aplikasi harus menggunakanDEMOjika server sponsor terdaftar di lingkunganDEMO.
DEFAULT_SERVER_ENVIRONMENT - Nama lingkungan untuk digunakan.
Ada beberapa lingkungan yang telah ditentukan:
// use default combination - DEMO for debug and PROD for releases builds
export const DEFAULT_SERVER_ENVIRONMENT = null
// use Demo env
// Agency: `https://agency.pps.evernym.com` and `Sovrin Staging Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'DEMO'
// use Production env
// Agency: `https://agency.evernym.com` and `Sovrin Live Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'PROD'
// use Staging env
// Agency: `https://agency.pstg.evernym.com` and `Sovrin Staging Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'STAGING' Anda juga dapat menyediakan dan menggunakan lingkungan khusus Anda menggunakan kombinasi variabel SERVER_ENVIRONMENTS dan DEFAULT_SERVER_ENVIRONMENT :
export const SERVER_ENVIRONMENTS = {
'CUSTOM' : {
agencyUrl : 'ahency_url' ,
agencyDID : 'did' ,
agencyVerificationKey : 'verkey' ,
poolConfig : [ { key : 'staging' , genesis : 'genesis_transactions' } ] ,
}
}
export const DEFAULT_SERVER_ENVIRONMENT = 'CUSTOM' GET_PROVISION_TOKEN_FUNC - Fungsi akan dipanggil untuk mendapatkan token penyediaan agen untuk aplikasi Anda.
/// example
export const GET_PROVISION_TOKEN_FUNC = async (): [error: string | null, token: string | null] => {
try {
// call your sponsor server endpoint
const response = fetch_api(your_endpoint)
// process response
// return result in format [error, token]
return [null, response.token]
} catch (error) {
return [error.message, null]
}
}
Selamat! Sekarang kami memiliki bagian JS yang siap dari aplikasi. Sebagai langkah selanjutnya, kita perlu mengkonfigurasi build untuk platform target.
Catatan : Pada titik ini, Anda seharusnya sudah menyelesaikan bagian konfigurasi aplikasi dasar.
Untuk mengonfigurasi pembangunan aplikasi Anda untuk platform Android, lihat dokumen.
Catatan : Pada titik ini, Anda seharusnya sudah menyelesaikan bagian konfigurasi aplikasi dasar.
Untuk mengonfigurasi pembangunan aplikasi Anda untuk platform iOS, lihat dokumen.
Lihat dokumentasi untuk mendapatkan gambaran umum opsi konfigurasi yang tersedia.
Upaya ini adalah bagian dari proyek yang telah menerima dana dari Program Penelitian dan Inovasi Horizon 2020 Uni Eropa di bawah Perjanjian Hibah No 871932 yang disampaikan melalui partisipasi kami di ESSIF-LAB, yang bertujuan untuk memajukan adopsi luas identitas perguruan tinggi untuk kepentingan semua.