Fetch openId version

This commit is contained in:
Thomas 2022-05-09 12:03:49 +02:00
parent 1e0eafef9b
commit 2b43f32772
1 changed files with 14 additions and 1 deletions

View File

@ -24,6 +24,7 @@ import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.text.style.UnderlineSpan;
import android.util.Log;
import android.util.Patterns;
import android.view.MenuItem;
import android.view.View;
@ -40,10 +41,13 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import app.fedilab.fedilabtube.BuildConfig;
import app.fedilab.fedilabtube.R;
import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI;
import app.fedilab.fedilabtube.client.data.InstanceData;
import app.fedilab.fedilabtube.client.data.PluginData;
import app.fedilab.fedilabtube.client.entities.AcadInstances;
import app.fedilab.fedilabtube.client.entities.Error;
import app.fedilab.fedilabtube.client.entities.Oauth;
@ -190,6 +194,15 @@ public class LoginActivity extends BaseActivity {
if (!BuildConfig.full_instances && AcadInstances.isOpenId(acadInstance)) {
new Thread(() -> {
try {
InstanceData.InstanceConfig instanceConfig = new RetrofitPeertubeAPI(LoginActivity.this).getConfigInstance();
PluginData.Plugin plugin = instanceConfig.getPlugin();
List<PluginData.PluginInfo> pluginInfos = plugin.getRegistered();
String openIdVersion = "0.0.7";
for(PluginData.PluginInfo pluginInfo: pluginInfos) {
if(pluginInfo.getName().toLowerCase().contains("openid")) {
openIdVersion = pluginInfo.getVersion();
}
}
Oauth oauth = new RetrofitPeertubeAPI(LoginActivity.this, acadInstance, null).oauthClient(null, null, null, null);
if (oauth == null) {
runOnUiThread(() -> {
@ -207,7 +220,7 @@ public class LoginActivity extends BaseActivity {
editor.apply();
Intent intent = new Intent(LoginActivity.this, WebviewConnectActivity.class);
Bundle b = new Bundle();
b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/0.0.7/auth/openid-connect");
b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/"+openIdVersion+"/auth/openid-connect");
intent.putExtras(b);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);