Compare commits

..
14 Commits
Author SHA1 Message Date
rizky_denianto 74c11c7778 Merge pull request 'Memperbaiki nama plugin dan menambah deskripsi di README.md' (#3) from pengembangan into main
Reviewed-on: #3
2026-09-04 01:55:28 +07:00
rizky_denianto 985a1abda7 Memperbaiki langkah penerbitan
Penerbitan Plugin / persiapan (pull_request) Successful in 4s
Penerbitan Plugin / penerbitan (pull_request) Failing after 1m24s
2026-09-04 01:44:52 +07:00
rizky_denianto 10e8ab3250 Menaikkan versi
Penerbitan Plugin / persiapan (pull_request) Successful in 6s
Penerbitan Plugin / penerbitan (pull_request) Failing after 1m37s
2026-09-04 01:41:30 +07:00
rizky_denianto b02146567f Membangun citra terlebih dahulu sebelum diterbitkan
Penerbitan Plugin / persiapan (pull_request) Successful in 6s
Penerbitan Plugin / penerbitan (pull_request) Failing after 1m42s
2026-09-04 01:40:43 +07:00
rizky_denianto adb535e93c Mengubah payload menjadi id 2026-09-04 01:22:21 +07:00
rizky_denianto b8caa99035 Memperbaiki nama plugin dan menambah deskripsi di README.md
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Successful in 4m43s
2026-09-04 00:30:49 +07:00
rizky_denianto e0956497f7 Merge pull request 'Memperbaiki kesalahan tipe data' (#2) from pengembangan into main
Reviewed-on: #2
2026-09-03 23:25:33 +07:00
rizky_denianto c14cb3df36 Menaikkan versi aplikasi
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Successful in 5m0s
2026-09-03 23:13:02 +07:00
rizky_denianto 7504aaa7f4 Mengubah properti menjadi variabel
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Failing after 1m44s
2026-09-03 23:06:44 +07:00
rizky_denianto aad2491b78 Menyesuaikan algoritme auth
Penerbitan Plugin / persiapan (pull_request) Successful in 6s
Penerbitan Plugin / penerbitan (pull_request) Successful in 4m20s
2026-09-03 22:46:15 +07:00
rizky_denianto 7e84f7bd23 Memperbaiki tipe data ke mutable
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Successful in 3m52s
2026-09-03 22:38:11 +07:00
rizky_denianto 4c526aa75c Mengubah tipe data dari nullable string ke string
Penerbitan Plugin / persiapan (pull_request) Successful in 6s
Penerbitan Plugin / penerbitan (pull_request) Successful in 4m16s
2026-09-03 22:10:50 +07:00
rizky_denianto 092b52e0b6 Menurunkan versi paket android agar sesuai dengan tauri
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Successful in 4m45s
2026-09-03 21:16:37 +07:00
rizky_denianto ed1c661dba Memperbaiki kesalahan tipe data
Penerbitan Plugin / persiapan (pull_request) Successful in 5s
Penerbitan Plugin / penerbitan (pull_request) Successful in 4m35s
2026-09-03 20:48:06 +07:00
10 changed files with 20 additions and 23 deletions

No files matched your search

+1
View File
@@ -51,6 +51,7 @@ jobs:
pnpm i pnpm i
npm config set @${{ needs.persiapan.outputs.organisasi }}:registry=https://${{ vars.ALAMAT_GITEA }}/api/packages/${{ needs.persiapan.outputs.organisasi }}/npm/ npm config set @${{ needs.persiapan.outputs.organisasi }}:registry=https://${{ vars.ALAMAT_GITEA }}/api/packages/${{ needs.persiapan.outputs.organisasi }}/npm/
npm config set -- '//${{ vars.ALAMAT_GITEA }}/api/packages/${{ needs.persiapan.outputs.organisasi }}/npm/:_authToken' "${{ secrets.KUNCI_PENERBITAN }}" npm config set -- '//${{ vars.ALAMAT_GITEA }}/api/packages/${{ needs.persiapan.outputs.organisasi }}/npm/:_authToken' "${{ secrets.KUNCI_PENERBITAN }}"
npm run prepublishOnly
npm publish npm publish
rm -rf pnpm-lock.yaml .pnpm-store/ rm -rf pnpm-lock.yaml .pnpm-store/
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "tauri-plugin-auth" name = "tauri-plugin-auth"
version = "0.1.0" version = "0.1.8"
authors = [ "Rizky Denianto" ] authors = [ "Rizky Denianto" ]
description = "Program sederhana untuk interaksi dengan autentikasi aplikasi tauri di berbagai sistem operasi" description = "Program sederhana untuk interaksi dengan autentikasi aplikasi tauri di berbagai sistem operasi"
edition = "2024" edition = "2024"
+1
View File
@@ -1,2 +1,3 @@
# tauri-plugin-auth # tauri-plugin-auth
Program sederhana untuk interaksi dengan autentikasi aplikasi tauri di berbagai sistem operasi
+3 -3
View File
@@ -42,7 +42,7 @@ dependencies {
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
implementation(project(":tauri-android")) implementation(project(":tauri-android"))
implementation("androidx.credentials:credentials:1.7.0-alpha03") implementation("androidx.credentials:credentials:1.5.0")
implementation("androidx.credentials:credentials-play-services-auth:1.7.0-alpha03") implementation("androidx.credentials:credentials-play-services-auth:1.5.0")
implementation("com.google.android.libraries.identity.googleid:googleid:<latest version>") implementation("com.google.android.libraries.identity.googleid:googleid:1.1.1")
} }
+6 -11
View File
@@ -28,27 +28,26 @@ import java.security.SecureRandom
@InvokeArg @InvokeArg
class KirimArgs { class KirimArgs {
var idKlien: String? = null var id: String? = null
} }
@TauriPlugin @TauriPlugin
class BluclasPlugin(private val activity: Activity) : Plugin(activity) { class AuthPlugin(private val activity: Activity) : Plugin(activity) {
private val credentialManager by lazy { CredentialManager.create(activity) } private val credentialManager by lazy { CredentialManager.create(activity) }
private val scope = CoroutineScope(Dispatchers.Main) private val scope = CoroutineScope(Dispatchers.Main)
private val idKlien: String? = null
@Command @Command
fun masuk(invoke: Invoke) { fun masuk(invoke: Invoke) {
val args = invoke.parseArgs(KirimArgs::class.java) val args = invoke.parseArgs(KirimArgs::class.java)
idKlien = args.idKlien val id = args.id
if (idKlien.isNullOrEmpty()) { if (id.isNullOrEmpty()) {
invoke.reject("ID Klien belum disediakan") invoke.reject("ID Klien belum disediakan")
return return
} }
val googleIdOption: GetGoogleIdOption = GetGoogleIdOption.Builder() val googleIdOption: GetGoogleIdOption = GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(true) .setFilterByAuthorizedAccounts(true)
.setServerClientId(idKlien) .setServerClientId(id)
.setNonce(generateSecureRandomNonce()) .setNonce(generateSecureRandomNonce())
.build() .build()
@@ -64,11 +63,7 @@ class BluclasPlugin(private val activity: Activity) : Plugin(activity) {
) )
handleSignInResult(result, invoke) handleSignInResult(result, invoke)
} catch (e: NoCredentialException) { } catch (e: NoCredentialException) {
if (args.filterByAuthorizedAccounts) { signInWithAllAccounts(id, invoke)
signInWithAllAccounts(idKlien, invoke)
} else {
invoke.reject("Tidak ada kredensial Google yang tersedia: ${e.message}")
}
} catch (e: GetCredentialException) { } catch (e: GetCredentialException) {
invoke.reject("Gagal masuk: ${e.message}") invoke.reject("Gagal masuk: ${e.message}")
} }
+1 -1
View File
@@ -5,7 +5,7 @@ export type SAuthMuatanMasuk = {
}; };
export async function masuk(muatan: SAuthMuatanMasuk): Promise<null> { export async function masuk(muatan: SAuthMuatanMasuk): Promise<null> {
return await invoke<null>("plugin:auth|masuk", { payload: muatan }); return await invoke<null>("plugin:auth|masuk", { muatan: muatan });
} }
export async function keluar(): Promise<null> { export async function keluar(): Promise<null> {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@segubi/tauri-plugin-auth-api", "name": "@segubi/tauri-plugin-auth-api",
"version": "0.1.0", "version": "0.1.8",
"author": "Rizky Denianto", "author": "Rizky Denianto",
"description": "Program sederhana untuk interaksi dengan autentikasi aplikasi tauri di berbagai sistem operasi", "description": "Program sederhana untuk interaksi dengan autentikasi aplikasi tauri di berbagai sistem operasi",
"type": "module", "type": "module",
+2 -2
View File
@@ -5,8 +5,8 @@ use crate::Result;
use crate::models::SAuthMuatanMasuk; use crate::models::SAuthMuatanMasuk;
#[command] #[command]
pub(crate) async fn masuk<R: Runtime>(app: AppHandle<R>, payload: SAuthMuatanMasuk) -> Result<()> { pub(crate) async fn masuk<R: Runtime>(app: AppHandle<R>, muatan: SAuthMuatanMasuk) -> Result<()> {
return app.auth().masuk(payload); return app.auth().masuk(muatan);
} }
#[command] #[command]
+3 -3
View File
@@ -25,14 +25,14 @@ pub fn init<R: Runtime, C: DeserializeOwned>(
pub struct Auth<R: Runtime>(PluginHandle<R>); pub struct Auth<R: Runtime>(PluginHandle<R>);
impl<R: Runtime> Auth<R> { impl<R: Runtime> Auth<R> {
pub fn masuk(&self, payload: SAuthMuatanMasuk) -> crate::Result<()> { pub fn masuk(&self, muatan: SAuthMuatanMasuk) -> crate::Result<()> {
return self return self
.0 .0
.run_mobile_plugin("masuk", payload) .run_mobile_plugin("masuk", muatan)
.map_err(Into::into); .map_err(Into::into);
} }
pub fn keluar(&self) -> crate::Result<Vec<()>> { pub fn keluar(&self) -> crate::Result<()> {
return self.0.run_mobile_plugin("keluar", ()).map_err(Into::into); return self.0.run_mobile_plugin("keluar", ()).map_err(Into::into);
} }
} }
+1 -1
View File
@@ -3,5 +3,5 @@ use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)] #[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct SAuthMuatanMasuk { pub struct SAuthMuatanMasuk {
pub id_klien: String, pub id: String,
} }