This guide explains how to install the Wepin Compose Multiplatform Login Library.
Requirements
Android: API version 21 or higher
iOS: version 13.0 or higher
Update the platform :ios version to 13.0 in your Compose Multiplatform project's ios/Podfile, and verify and modify the ios/Podfile as needed.
This package is only available for Android and iOS environments. It is not supported on Web, macOS, Windows, or Linux environments.
OAuth Login Provider Setup
If you want to use OAuth login functionality (e.g., loginWithOauthProvider), you need to set up OAuth login providers. To do this, you must first register your OAuth login provider information in the Wepin Workspace Navigate to the Login tap under the Developer Tools menu, click the App or Set Login Provider button in the Login Provider section, and complete the registration.
Installation
The Wepin Compose Multiplatform Login Library is published on Maven Central, and you can install it by adding the following dependency in your app's build.gradle.kt
Add to dependencies in build.gradle.kt:
val commonMain by getting {
api("io.wepin:wepin-compose-sdk-login-v1:0.0.9")
}
iOS
You need to install iOS-dependent libraries using CocoaPods.
After adding the CocoaPods plugin to the build.gradle file and entering the information for the AppAuth, secp256k1, and JFBCrypt libraries, click "Sync Project with Gradle Files," and a shared.podspec file will be generated.
You should add a Podfile in the iosApp folder.
In the Podfile, make sure to set the minimum iOS version to 13.0.
Configuration
Deep Link Configuration
To enable OAuth login functionality (loginWithOauthProvider), you need to configure the Deep Link scheme.
Deep Link scheme format:wepin. + Wepin App ID
Android
Add manifestPlaceholders to the build.gradle (app) file to easily capture all redirects using this custom scheme with the Wepin Widget SDK
iOS
Add the app’s URL scheme to the Info.plist file to redirect back to the app after the authentication process.
//build.gradle.kt(shared)
plugins {
kotlin("native.cocoapods")
}
kotlin {
cocoapods {
summary = "Some description for a Kotlin/Native module"
homepage = "Link to a Kotlin/Native module homepage"
ios.deploymentTarget = "13.0"
version = "0.0.1"
pod("AppAuth") {
version = "~> 1.7.5"
}
pod("secp256k1") {
version = "~> 0.1.0"
}
pod("JFBCrypt") {
version = "~> 0.1"
}
}
}
// Podfile
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
end
build.gradle(app)
// Deep Link configuration => Redirect scheme format: wepin. + Wepin App ID
android.defaultConfig.manifestPlaceholders = [
'appAuthRedirectScheme': 'wepin.{{YOUR_WEPIN_APPID}}'
]