Fix version API auth check (#399)

Merge branch 'master' into 389_alternate_version-api-auth

rm comment

get gitea Version Authentificated

Co-authored-by: M M Arif <mmarif@swatian.com>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://gitea.com/gitnex/GitNex/pulls/399
Reviewed-by: M M Arif <mmarif@swatian.com>
This commit is contained in:
6543 2020-04-13 08:01:56 +00:00 committed by M M Arif
parent 4123e03f7d
commit 2e452eaa81
3 changed files with 33 additions and 8 deletions

View File

@ -377,7 +377,6 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
}
tinyDb.putString("instanceUrlRaw", instanceHost);
//tinyDb.putString("loginUid", loginUid);
tinyDb.putString("instanceUrl", instanceUrl);
tinyDb.putString("instanceUrlWithProtocol", instanceUrlWithProtocol);
@ -414,10 +413,28 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
private void versionCheck(final String instanceUrl, final String loginUid, final String loginPass, final int loginOTP, final String loginToken_, final int loginType) {
Call<GiteaVersion> callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext())
.getApiInterface()
.getGiteaVersion();
Call<GiteaVersion> callVersion;
if (!loginToken_.isEmpty()) {
callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext())
.getApiInterface()
.getGiteaVersionWithToken(loginToken_);
}
else {
final String credential = Credentials.basic(loginUid, loginPass, StandardCharsets.UTF_8);
if (loginOTP != 0) {
callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext())
.getApiInterface()
.getGiteaVersionWithOTP(credential,loginOTP);
}
else {
callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext())
.getApiInterface()
.getGiteaVersionWithBasic(credential);
}
}
callVersion.enqueue(new Callback<GiteaVersion>() {
@ -520,7 +537,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
if (response.isSuccessful()) {
if (response.code() == 200) {
tinyDb.putBoolean("loggedInMode", true);
assert userDetails != null;
tinyDb.putString(userDetails.getLogin() + "-token", loginToken_);

View File

@ -404,10 +404,12 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig
final TinyDB tinyDb = new TinyDB(getApplicationContext());
final String token = "token " + tinyDb.getString(tinyDb.getString("loginUid") + "-token");
Call<GiteaVersion> callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext())
.getApiInterface()
.getGiteaVersion();
.getGiteaVersionWithToken(token);
callVersion.enqueue(new Callback<GiteaVersion>() {

View File

@ -52,7 +52,13 @@ import retrofit2.http.Query;
public interface ApiInterface {
@GET("version") // gitea version API
Call<GiteaVersion> getGiteaVersion();
Call<GiteaVersion> getGiteaVersionWithBasic(@Header("Authorization") String authorization);
@GET("version") // gitea version API
Call<GiteaVersion> getGiteaVersionWithOTP(@Header("Authorization") String authorization, @Header("X-Gitea-OTP") int loginOTP);
@GET("version") // gitea version API
Call<GiteaVersion> getGiteaVersionWithToken(@Header("Authorization") String token);
@GET("user") // username, full name, email
Call<UserInfo> getUserInfo(@Header("Authorization") String token);