Simplified token request settings.

This commit is contained in:
Nick Leeman 2023-09-08 13:01:23 +02:00
parent e3f941b723
commit b558f25688
12 changed files with 9 additions and 39 deletions

View File

@ -26,8 +26,6 @@ debuggable = 1
[siwg]
app_id = 715670885775
client_id = 715670885775-j3p3nr6ith9su03p2im8d2p752hptg56.apps.googleusercontent.com
request_server_auth_code = 1
request_id_token = 1
[ios]
bundle_identifier = com.aterve.partydeck

View File

@ -0,0 +1,2 @@
#Fri Sep 08 12:58:23 CEST 2023
gradle.version=7.4.2

View File

@ -54,8 +54,6 @@ public class SiwgJNI {
private Activity activity;
private String client_id;
private boolean is_request_id_token;
private boolean is_request_auth_code;
private boolean is_supported;
//
@ -73,11 +71,9 @@ public class SiwgJNI {
// Constructor
//
public SiwgJNI(Activity activity, boolean is_disk_active, boolean is_request_auth_code, boolean is_request_id_token, String client_id) {
public SiwgJNI(Activity activity, String client_id) {
this.activity = activity;
this.client_id = client_id;
this.is_request_auth_code = is_request_auth_code;
this.is_request_id_token = is_request_id_token;
// Check if device supports google sign in
this.is_supported = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(activity) == ConnectionResult.SUCCESS;
@ -164,14 +160,9 @@ public class SiwgJNI {
// Create Google Sign in (Default)
GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN);
if (is_request_id_token && client_id != null) {
builder.requestIdToken(client_id);
}
if (is_request_auth_code && client_id != null) {
builder.requestServerAuthCode(client_id);
}
builder.requestIdToken(client_id);
builder.requestServerAuthCode(client_id);
// Request email
builder.requestEmail();

View File

@ -301,27 +301,8 @@ static void InitJNIMethods(JNIEnv* env, jclass cls)
g_siwg.m_activityResult = env->GetMethodID(cls, "activityResult", "(IILandroid/content/Intent;)V");
}
static void CheckInitializationParams(const char* client_id, bool request_server_auth_code, bool request_id_token)
static void InitializeJNI(const char* client_id)
{
bool is_empty_client_id = client_id == 0 || strlen(client_id) == 0;
if (is_empty_client_id && request_server_auth_code)
{
dmLogError("'siwg.client_id' must be defined to request server auth code!");
}
if (is_empty_client_id && request_id_token)
{
dmLogError("'siwg.client_id' must be defined to request id token!");
}
}
static void InitializeJNI(const char* client_id, bool request_server_auth_code, bool request_id_token)
{
CheckInitializationParams(client_id, request_server_auth_code > 0, request_id_token > 0);
dmLogInfo("[SIWG] InitJNI Checked Params");
dmAndroid::ThreadAttacher threadAttacher;
JNIEnv* env = threadAttacher.GetEnv();
jclass cls = dmAndroid::LoadClass(env, "com.aterve.siwg.SiwgJNI");
@ -333,7 +314,7 @@ static void InitializeJNI(const char* client_id, bool request_server_auth_code,
jmethodID jni_constructor = env->GetMethodID(cls, "<init>", "(Landroid/app/Activity;ZZZLjava/lang/String;)V");
jstring java_client_id = env->NewStringUTF(client_id);
g_siwg.m_SiwgJNI = env->NewGlobalRef(env->NewObject(cls, jni_constructor, threadAttacher.GetActivity()->clazz, true, request_server_auth_code, request_id_token, java_client_id));
g_siwg.m_SiwgJNI = env->NewGlobalRef(env->NewObject(cls, jni_constructor, threadAttacher.GetActivity()->clazz, java_client_id));
env->DeleteLocalRef(java_client_id);
dmLogInfo("[SIWG] InitJNI JNI Refrences Initialized");
}
@ -347,12 +328,10 @@ dmExtension::Result InitializeSIWG(dmExtension::Params* params)
dmLogInfo("[SIWG] Initializing Extension...");
LuaInit(params->m_L);
int request_server_auth_code = dmConfigFile::GetInt(params->m_ConfigFile, "siwg.request_server_auth_code", 0);
int request_id_token = dmConfigFile::GetInt(params->m_ConfigFile, "siwg.request_id_token", 0);
const char* client_id = dmConfigFile::GetString(params->m_ConfigFile, "siwg.client_id", 0);
dmLogInfo("[SIWG] Loaded Settings");
InitializeJNI(client_id, request_server_auth_code > 0, request_id_token > 0);
InitializeJNI(client_id);
dmAndroid::RegisterOnActivityResultListener(OnActivityResult);
dmLogInfo("[SIWG] Activity Result Listener Initialized");