diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-05 00:08:35 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-11-05 00:08:35 +0100 |
commit | 146a732982f096bfdb3e3ed56300233736f90c21 (patch) | |
tree | 36c5fa8424dd389612b5124f00de21e4e9961cef | |
parent | bbd8255288db31f4473b000aab2dfbe3d7fb0f38 (diff) |
Dodato refreshovanje jwt-a na clientskom delu aplikacije.
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 |