SDK
Hướng dẫn cho Android Native
1. Tải xuống tệp SDK.
2. Thêm ID khách hàng vào VNPassRequestModels.java
3. Thêm bí mật khách hàng vào VNPassRequestModels.java
4. Thêm URL chuyển hướng trong VNPassRequestModels.java
5. Chọn môi trường, cho dù đó là dàn dựng hay sản xuất.
6. Trong hoạt động yêu cầu Xác thực vượt qua VN, hãy sao chép phần "Thêm lược đồ và máy chủ tùy chỉnh" vào tệp AndroidManifest vào hoạt động cụ thể đó và đặt chế độ khởi chạy là singleTask. (android:launchMode = "singleTask").
7. Trong tệp Build.gradle mô-đun, sao chép phần "Thêm biến lược đồ tùy chỉnh" vào defaultConfig.
8. Thay đổi giá trị "URI_SCHEME" và "lược đồ" thành tên ứng dụng của bạn.
Đây là bước bắt buộc để tránh xung đột với các ứng dụng khác trong tương lai.
9. Kiểm tra xem dự án có hỗ trợ Kotlin hay không. Nếu không, mở tệp
Build.gradle
cấp độ ứng dụng và sao chép "Enable Kotlin Version" và "Enable Kotlin Dependency" vào vị trí tương ứng. Cũng trong Build.gradle
của module, sao chép phần "Enable Kotlin Dependency" vào phần dependencies.
10. Trong Activity nơi kích hoạt xác thực VNPass, sao chép phần "Callback to handle VNPass callback".
Có thể thực hiện tìm kiếm toàn cầu với từ khóa "//VN PASS" để hiển thị các sửa đổi cần thực hiện.
Hướng dẫn cho iOS Native
1. Tải xuống tệp SDK
2. Thiết lập framework.
- Tạo thư mục LocalPods nếu chưa được tạo.
- Thêm thư mục VNPASSClient vào thư mục LocalPods.
- Thêm pod 'VNPassClient', :p ath => "LocalPods/VNPassClient" vào podfile của bạn.
3. Mở AppDelegate và thêm thông tin sau:
- nhập khẩu VNPassClient
4. Trong didFinishLaunchingWithOptions, hãy thêm thông tin bên dưới:
scope: "client login scope",
state: "RANDOM 24 alpha numeric", //Randomly Generated Code 24 alpha numeric.
successSchemeURL: "UUUUU://", //client success url scheme.
failSchemeURL: "CCCCC://", //client failure url scheme.
signingScope: "urn:safelayer:eidas:sign:process:document") // client signing scope.
VNPASSRouter.shared.environmentConfig = VNPassConfig(clientID: "your client id", clientSecret: "your client secret", env: .production)
env (environment can be : .production or .qa or .dev)
func application(_: UIApplication, handleOpen url: URL) -> Bool {
print("<><><><> appDelegate URL : (url.absoluteString)")
if url.absoluteString.contains(HandleURLScheme.externalURLSchemeSuccess()) {
if let topViewController = UserInterfaceInfo.topViewController() {
if let webViewController = topViewController as? VNPassWebViewController {
webViewController.forceReload()
}
}
return true
}
else if url.absoluteString.contains(HandleURLScheme.externalURLSchemeFail()) {
guard let webViewController = UserInterfaceInfo.topViewController() as? VNPassWebViewController else {
return false
}
webViewController.foreceStop()
let alertController = UIAlertController(title: "Failed to login with VN PASS Login", message: "Try again later", preferredStyle: .actionSheet)
let okAction = UIAlertAction(title: "OK", style: UIAlertAction.Style.default) {
_ in
NSLog("OK Pressed")
webViewController.navigationController?.popViewController(animated: true)
}
alertController.addAction(okAction)
self.window?.rootViewController?.present(alertController, animated: true, completion: nil)
return false
}
return true
}
5. Thêm lược đồ VNPass vào info.plist dự án của bạn trong LSApplicationQueriesSchemes (Đã được thêm vào mẫu này).
for QA: vnpassstg
for DEV: vnpassdev
6. Sau khi nhấn đăng nhập bằng nút PASS của VN, hãy chọn môi trường ưa thích để đăng nhập thông qua UIAlertController và từ hành động này, một dấu vết có thể được thực hiện để hiển thị cách thức hoạt động của nó.
7. Từ application(_: UIApplication, handleOpen url: URL) -> Bool trong AppDelegate
Áp dụng lực lên chế độ xem web hiện tại để tải lại hoặc ngừng tải trong trường hợp thành công hay thất bại.
Mẫu này chứa ba bộ điều khiển chế độ xem:
- ViewController.swift (màn hình chính chứa nút đăng nhập và UIAlertController để chọn môi trường cần thiết).
- UserProfileViewController.swift (Chỉ cần xem đơn giản để hiển thị chi tiết hồ sơ người dùng và nó cũng chứa tài liệu ký scneario).
- VNPassWebViewController.swift (Có thể xử lý các yêu cầu webView để tạo mã vnpass để sử dụng nó để tạo mã thông báo).
8. Đối với Quy trình ký, cần thực hiện các bước sau:
-
Nó phải là một tài liệu PDF hợp lệ và mã mẫu để tải xuống tệp pdf được cung cấp.
-
Một mã thông báo hợp lệ phải được tạo cho quá trình ký.
-
Tài liệu pdf hợp lệ sau đó sẽ được tải lên PASS.
-
Sau khi tải lên, một yêu cầu ký sẽ được gửi. Sau đó, bạn có thể chọn những điều sau đây:
-
Loại chữ ký: Nâng cao hoặc Đủ tiêu chuẩn
-
Trang mà chữ ký sẽ được đặt
-
Tọa độ chữ ký và kích thước chữ ký
-
9. testSignData.json là một tệp rất quan trọng vì đây là thông tin ký cần được chuyển đến VNPASS và dự kiến sẽ được nhận từ phần phụ trợ. Nó cũng được yêu cầu cấu hình lại để thêm sơ đồ ứng dụng của SP.
Mẫu này cũng hỗ trợ chế độ tối.
Để tích hợp khách truy cập: SP cần sử dụng các phạm vi dưới đây cho lệnh gọi xác thực đầu tiên của họ để truy xuất thuộc tính unifiedID và profileType của người dùng:
scope=urn:vn:digitalid:profile:general urn:vn:digitalid:profile:general:profileType urn:vn:digitalid:profile:general:unifiedId
Was this helpful?
Thank you!