سلام دوستان. NikeAuthenticator رو باید کجا ست کنیم؟
سلام وقت بخیر
ممنون میشم توضیحات بیشتری درمورد سوالتون بدید .
سلام رضا جان، امیدوارم حالتون خوب باشه
باید به عنوان authenticator برای okhttpClient پاسش بدیم
که به شکل زیر هست
NetworkModule with Hilt
@Provides @Singleton fun provideBaseAuthenticator( @ApplicationContext context: Context ): BaseAuthenticator { return BaseAuthenticator(context) } @Provides @Singleton fun provideClient( loggingInterceptor: HttpLoggingInterceptor, authenticator: BaseAuthenticator? ): OkHttpClient { val builder = OkHttpClient.Builder() .addInterceptor(loggingInterceptor) .addInterceptor { val oldRequest = it.request() val newRequestBuilder = oldRequest.newBuilder() if (TokenContainer.accessToken != null) newRequestBuilder.addHeader( "Authorization", "Bearer ${TokenContainer.accessToken}" ) newRequestBuilder.addHeader("Accept", "application/json") newRequestBuilder.method(oldRequest.method, oldRequest.body) return@addInterceptor it.proceed(newRequestBuilder.build()) }.also { okhttp -> authenticator?.let { okhttp.authenticator(it) } } return builder.build() }
که همین رو میتونید برای کوین هم بنویسید
البته که استاد انشالا در جلسات آخر راه بهبود یافتهتر رو توضیح میدن
با آرزوی موفقیت