aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-05 00:08:35 +0100
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-11-05 00:08:35 +0100
commit146a732982f096bfdb3e3ed56300233736f90c21 (patch)
tree36c5fa8424dd389612b5124f00de21e4e9961cef
parentbbd8255288db31f4473b000aab2dfbe3d7fb0f38 (diff)
Dodato refreshovanje jwt-a na clientskom delu aplikacije.
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt1
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt3
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt42
3 files changed, 42 insertions, 4 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
index 6e6e368..b68a04f 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentLogin.kt
@@ -94,7 +94,6 @@ class FragmentLogin : Fragment() {
Toast.makeText(
activity, token, Toast.LENGTH_LONG
).show();
- //TODO(navigate to main page)
SharedPreferencesHelper.addValue("jwt",token,activity!!)
val intent= Intent(activity!!, NavigationActivity::class.java)
startActivity(intent)
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
index 22935a5..57e7e82 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Interfaces/IAuthApi.kt
@@ -14,7 +14,8 @@ interface IAuthApi {
fun login(@Body obj:Login): Call<String>
@POST("/api/auth/register")
fun register(@Body obj:Register):Call<ResponseBody>
-
+ @POST("/api/auth/refreshJwt")
+ fun refreshJwt(@Header("Authorization") authHeader:String): Call<String>
//@POST("putanja")
//fun add(@Body obj:Post,@Header("Authorization") authHeader:String):Call<Post>
} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
index 1208564..e55da11 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/MainActivity.kt
@@ -3,10 +3,15 @@ package com.example.brzodolokacije
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import android.util.Log
+import android.widget.Toast
import com.auth0.android.jwt.JWT
import com.example.brzodolokacije.Activities.ActivityLoginRegister
import com.example.brzodolokacije.Activities.NavigationActivity
+import com.example.brzodolokacije.Services.RetrofitHelper
import com.example.brzodolokacije.Services.SharedPreferencesHelper
+import retrofit2.Call
+import retrofit2.Response
class MainActivity : AppCompatActivity() {
@@ -17,8 +22,9 @@ class MainActivity : AppCompatActivity() {
setContentView(R.layout.activity_main)
val intent:Intent
- if(checkLoggedIn())
- intent= Intent(this, NavigationActivity::class.java)
+ if(checkLoggedIn()) {
+ intent = Intent(this, NavigationActivity::class.java)
+ }
else
intent= Intent(this, ActivityLoginRegister::class.java)
@@ -33,10 +39,42 @@ class MainActivity : AppCompatActivity() {
var jwt:JWT=JWT(jwtString)
if(jwt.isExpired(30))
return false
+ refreshJwt(jwtString)
return true
}
+
+ fun refreshJwt(token:String){
+ Log.d("Main","RIPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP")
+ if(token==null)
+ return
+ var refreshJwt= RetrofitHelper.getInstance().refreshJwt("Bearer "+token)
+ refreshJwt.enqueue(object : retrofit2.Callback<String?> {
+ override fun onResponse(call: Call<String?>, response: Response<String?>) {
+ if(response.isSuccessful()){
+ val newToken=response.body().toString()
+ Toast.makeText(
+ applicationContext, token, Toast.LENGTH_LONG
+ ).show();
+ SharedPreferencesHelper.addValue("jwt",newToken,this@MainActivity)
+ }else{
+ if(response.errorBody()!=null)
+ Toast.makeText(applicationContext, response.errorBody()!!.string(), Toast.LENGTH_LONG).show();
+ }
+
+
+ }
+
+ override fun onFailure(call: Call<String?>, t: Throwable) {
+ Toast.makeText(
+ applicationContext, t.toString(), Toast.LENGTH_LONG
+ ).show();
+ }
+ })
+
+
+ }
} \ No newline at end of file