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("instanceUrlRaw", instanceHost);
//tinyDb.putString("loginUid", loginUid);
tinyDb.putString("instanceUrl", instanceUrl); tinyDb.putString("instanceUrl", instanceUrl);
tinyDb.putString("instanceUrlWithProtocol", instanceUrlWithProtocol); 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) { 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 Call<GiteaVersion> callVersion;
.getInstance(instanceUrl, getApplicationContext()) if (!loginToken_.isEmpty()) {
.getApiInterface() callVersion = RetrofitClient
.getGiteaVersion(); .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>() { callVersion.enqueue(new Callback<GiteaVersion>() {
@ -520,7 +537,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
if (response.isSuccessful()) { if (response.isSuccessful()) {
if (response.code() == 200) { if (response.code() == 200) {
tinyDb.putBoolean("loggedInMode", true); tinyDb.putBoolean("loggedInMode", true);
assert userDetails != null; assert userDetails != null;
tinyDb.putString(userDetails.getLogin() + "-token", loginToken_); 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 TinyDB tinyDb = new TinyDB(getApplicationContext());
final String token = "token " + tinyDb.getString(tinyDb.getString("loginUid") + "-token");
Call<GiteaVersion> callVersion = RetrofitClient Call<GiteaVersion> callVersion = RetrofitClient
.getInstance(instanceUrl, getApplicationContext()) .getInstance(instanceUrl, getApplicationContext())
.getApiInterface() .getApiInterface()
.getGiteaVersion(); .getGiteaVersionWithToken(token);
callVersion.enqueue(new Callback<GiteaVersion>() { callVersion.enqueue(new Callback<GiteaVersion>() {

View File

@ -52,7 +52,13 @@ import retrofit2.http.Query;
public interface ApiInterface { public interface ApiInterface {
@GET("version") // gitea version API @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 @GET("user") // username, full name, email
Call<UserInfo> getUserInfo(@Header("Authorization") String token); Call<UserInfo> getUserInfo(@Header("Authorization") String token);