File tree Expand file tree Collapse file tree 4 files changed +38
-0
lines changed
kafka-connect-fitbit-source/src/main/java/org/radarbase/connect/rest/fitbit/user
kafka-connect-oura-source/src/main/java/org/radarbase/connect/rest/oura/user Expand file tree Collapse file tree 4 files changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -90,6 +90,8 @@ class ServiceUserRepository : UserRepository {
9090 tokenUrl = URLBuilder (config.fitbitUserRepositoryTokenUrl.toString()).build(),
9191 clientId = config.fitbitUserRepositoryClientId,
9292 clientSecret = config.fitbitUserRepositoryClientSecret,
93+ scope = " SUBJECT.READ MEASUREMENT.CREATE" ,
94+ audience = " res_restAuthorizer"
9395 )
9496
9597 val refreshDuration = config.userCacheRefreshInterval.toKotlinDuration()
@@ -113,6 +115,8 @@ class ServiceUserRepository : UserRepository {
113115 tokenUrl : Url ? ,
114116 clientId : String? ,
115117 clientSecret : String? ,
118+ scope : String? ,
119+ audience : String? ,
116120 ): HttpClient = HttpClient (CIO ) {
117121 if (tokenUrl != null ) {
118122 install(Auth ) {
@@ -121,6 +125,8 @@ class ServiceUserRepository : UserRepository {
121125 tokenUrl.toString(),
122126 clientId,
123127 clientSecret,
128+ scope,
129+ audience
124130 ).copyWithEnv(" MANAGEMENT_PORTAL" ),
125131 baseUrl.host,
126132 )
Original file line number Diff line number Diff line change @@ -64,6 +64,8 @@ public class ServiceUserRepositoryLegacy implements UserRepository {
6464 private static final Duration CONNECTION_TIMEOUT = Duration .ofSeconds (60 );
6565 private static final Duration CONNECTION_READ_TIMEOUT = Duration .ofSeconds (90 );
6666
67+ private static final String CLIENT_AUDIENCE = "res_restAuthorizer" ;
68+
6769 private final OkHttpClient client ;
6870 private final Map <String , OAuth2UserCredentials > cachedCredentials ;
6971 private final AtomicReference <Instant > nextFetch = new AtomicReference <>(MIN_INSTANT );
@@ -76,6 +78,17 @@ public class ServiceUserRepositoryLegacy implements UserRepository {
7678
7779 public ServiceUserRepositoryLegacy () {
7880 this .client = new OkHttpClient .Builder ()
81+ .addInterceptor (chain -> {
82+ Request original = chain .request ();
83+ HttpUrl originalUrl = original .url ();
84+ HttpUrl newUrl = originalUrl .newBuilder ()
85+ .addQueryParameter ("audience" , CLIENT_AUDIENCE )
86+ .build ();
87+ Request newRequest = original .newBuilder ()
88+ .url (newUrl )
89+ .build ();
90+ return chain .proceed (newRequest );
91+ })
7992 .connectTimeout (CONNECTION_TIMEOUT )
8093 .readTimeout (CONNECTION_READ_TIMEOUT )
8194 .build ();
Original file line number Diff line number Diff line change @@ -90,6 +90,8 @@ class OuraServiceUserRepository : OuraUserRepository() {
9090 tokenUrl = URLBuilder (config.ouraUserRepositoryTokenUrl.toString()).build(),
9191 clientId = config.ouraUserRepositoryClientId,
9292 clientSecret = config.ouraUserRepositoryClientSecret,
93+ scope = " SUBJECT.READ MEASUREMENT.CREATE" ,
94+ audience = " res_restAuthorizer"
9395 )
9496
9597 userCache =
@@ -111,6 +113,8 @@ class OuraServiceUserRepository : OuraUserRepository() {
111113 tokenUrl : Url ? ,
112114 clientId : String? ,
113115 clientSecret : String? ,
116+ scope : String? ,
117+ audience : String? ,
114118 ): HttpClient =
115119 HttpClient (CIO ) {
116120 if (tokenUrl != null ) {
@@ -120,6 +124,8 @@ class OuraServiceUserRepository : OuraUserRepository() {
120124 tokenUrl.toString(),
121125 clientId,
122126 clientSecret,
127+ scope,
128+ audience
123129 ).copyWithEnv(" MANAGEMENT_PORTAL" ),
124130 baseUrl.host,
125131 )
Original file line number Diff line number Diff line change @@ -78,6 +78,8 @@ public class OuraServiceUserRepositoryLegacy extends OuraUserRepository {
7878 private static final Duration CONNECTION_TIMEOUT = Duration .ofSeconds (60 );
7979 private static final Duration CONNECTION_READ_TIMEOUT = Duration .ofSeconds (90 );
8080
81+ private static final String CLIENT_AUDIENCE = "res_restAuthorizer" ;
82+
8183 private final OkHttpClient client ;
8284 private final Map <String , OAuth2UserCredentials > cachedCredentials ;
8385 private final AtomicReference <Instant > nextFetch = new AtomicReference <>(MIN_INSTANT );
@@ -90,6 +92,17 @@ public class OuraServiceUserRepositoryLegacy extends OuraUserRepository {
9092
9193 public OuraServiceUserRepositoryLegacy () {
9294 this .client = new OkHttpClient .Builder ()
95+ .addInterceptor (chain -> {
96+ Request original = chain .request ();
97+ HttpUrl originalUrl = original .url ();
98+ HttpUrl newUrl = originalUrl .newBuilder ()
99+ .addQueryParameter ("audience" , CLIENT_AUDIENCE )
100+ .build ();
101+ Request newRequest = original .newBuilder ()
102+ .url (newUrl )
103+ .build ();
104+ return chain .proceed (newRequest );
105+ })
93106 .connectTimeout (CONNECTION_TIMEOUT )
94107 .readTimeout (CONNECTION_READ_TIMEOUT )
95108 .build ();
You can’t perform that action at this time.
0 commit comments