SDK
Kotlin SDK
authon-android — Chrome Custom Tabs OAuth, EncryptedSharedPreferences 토큰 저장소, Jetpack Compose 컴포넌트를 갖춘 Android SDK.
설치
build.gradle.kts
dependencies {
implementation("dev.authon:authon-android:1.0.0")
}설정
MyApplication.kt
import android.app.Application
import dev.authon.Authon
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Authon.initialize(
context = this,
publishableKey = "pk_live_your_key",
redirectScheme = "myapp"
)
}
}Jetpack Compose
MainScreen.kt
import androidx.compose.runtime.*
import dev.authon.compose.*
@Composable
fun MainScreen() {
val authState by rememberAuthonState()
when {
authState.isLoading -> CircularProgressIndicator()
authState.isSignedIn -> {
Column {
Text("Welcome, ${authState.user?.displayName}!")
Button(onClick = { Authon.instance.signOut() }) {
Text("Sign out")
}
}
}
else -> {
Button(onClick = { Authon.instance.openSignIn() }) {
Text("Sign in")
}
}
}
}OAuth 로그인
kotlin
// Open OAuth in Chrome Custom Tab
Authon.instance.signInWithOAuth("google")
Authon.instance.signInWithOAuth("github")AndroidManifest.xml
AndroidManifest.xml
<activity android:name="dev.authon.OAuthCallbackActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" android:host="oauth" />
</intent-filter>
</activity>