Skip to content

Commit 801d516

Browse files
committed
feat(authentication): add bearer token authentication
1 parent 939da70 commit 801d516

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/main/java/com/ibm/watson/developer_cloud/spring/boot/WatsonAutoConfiguration.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import com.ibm.cloud.sdk.core.security.Authenticator;
1818
import com.ibm.cloud.sdk.core.security.BasicAuthenticator;
19+
import com.ibm.cloud.sdk.core.security.BearerTokenAuthenticator;
1920
import com.ibm.cloud.sdk.core.security.ConfigBasedAuthenticatorFactory;
2021
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
2122
import com.ibm.cloud.sdk.core.service.BaseService;
@@ -69,6 +70,10 @@ private Authenticator configAuth(WatsonConfigurationProperties config, String se
6970
if (apiKey != null) {
7071
return new WatsonApiKeyAuthenticator(apiKey);
7172
}
73+
String bearerToken = config.getBearerToken();
74+
if (bearerToken != null) {
75+
return new BearerTokenAuthenticator(bearerToken);
76+
}
7277

7378
// If we can't find the right properties, we'll return what we get from the auth config factory, which will
7479
// pull from things like VCAP_SERVICES.
@@ -99,7 +104,7 @@ public Assistant assistant() {
99104
@ConditionalOnMissingBean
100105
@ConditionalOnWatsonServiceProperties(prefix = WatsonAssistantV2ConfigurationProperties.PREFIX)
101106
public com.ibm.watson.assistant.v2.Assistant assistantV2() {
102-
Authenticator authConfig = configAuth(assistantV2Config, "assistant_v2");
107+
Authenticator authConfig = configAuth(assistantV2Config, "assistant");
103108
com.ibm.watson.assistant.v2.Assistant service =
104109
new com.ibm.watson.assistant.v2.Assistant(assistantV2Config.getVersionDate(), authConfig);
105110
configUrl(service, assistantConfig);
@@ -145,7 +150,7 @@ public Discovery discovery() {
145150
@ConditionalOnMissingBean
146151
@ConditionalOnWatsonServiceProperties(prefix = WatsonDiscoveryV2ConfigurationProperties.PREFIX)
147152
public com.ibm.watson.discovery.v2.Discovery discoveryV2() {
148-
Authenticator authConfig = configAuth(discoveryV2Config, "discovery_v2");
153+
Authenticator authConfig = configAuth(discoveryV2Config, "discovery");
149154
com.ibm.watson.discovery.v2.Discovery service =
150155
new com.ibm.watson.discovery.v2.Discovery(discoveryV2Config.getVersionDate(), authConfig);
151156
configUrl(service, discoveryV2Config);

src/main/java/com/ibm/watson/developer_cloud/spring/boot/WatsonConfigurationProperties.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public class WatsonConfigurationProperties {
3434
/** Watson service versionDate. */
3535
private String versionDate;
3636

37+
/** Watson service bearerToken. */
38+
private String bearerToken;
39+
3740
public void setUrl(String url) {
3841
this.url = url;
3942
}
@@ -58,6 +61,10 @@ public void setVersionDate(String versionDate) {
5861
this.versionDate = versionDate;
5962
}
6063

64+
public void setBearerToken(String bearerToken) {
65+
this.bearerToken = bearerToken;
66+
}
67+
6168
public String getUrl() {
6269
return this.url;
6370
}
@@ -81,4 +88,8 @@ public String getIamApiKey() {
8188
public String getVersionDate() {
8289
return this.versionDate;
8390
}
91+
92+
public String getBearerToken() {
93+
return this.bearerToken;
94+
}
8495
}

src/main/java/com/ibm/watson/developer_cloud/spring/boot/WatsonServiceCondition.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata
2626
String apiKey = conditionContext.getEnvironment().getProperty(prefix + ".apiKey");
2727
String iamApiKey = conditionContext.getEnvironment().getProperty(prefix + ".iamApiKey");
2828
String versionDate = conditionContext.getEnvironment().getProperty(prefix + ".versionDate");
29+
String bearerToken = conditionContext.getEnvironment().getProperty(prefix + ".bearerToken");
30+
2931
if (url != null || username != null || password != null || versionDate != null
30-
|| apiKey != null || iamApiKey != null) {
32+
|| apiKey != null || iamApiKey != null || bearerToken != null) {
3133
return true;
3234
}
3335

0 commit comments

Comments
 (0)