我需要使用ClientCredential Grant来使用OAuth2 Rest服务。
我正在使用spring security and spring oauth2。
要获取访问令牌,我需要调用令牌uri传递给它 clientId 和密码
基本上我需要用这个身体发送一个POST
>>> import tensorflow
>>> from tensorflow.contrib.keras.models import Sequential
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named models
>>> tensorflow.contrib.keras.models.Sequential
<class 'tensorflow.contrib.keras.python.keras.models.Sequential'>
我应该在回复中得到类似内容
{"clientId":"demo",
"password": "demo_password"
}
我试图以这种方式配置OAuth2RestTemplate
{
"expiresIn": 3600,
"accessToken": "EF2I5xhL2GU9pAwK",
"statusCode": 200,
"refreshToken": "72BIcYWYhPjuPDGb"
}
但我总是
@Configuration
@EnableOAuth2Client
public class RestTemplateConf {
@Value("${ApiClient}")
private String oAuth2ClientId;
@Value("${ApiSecret}")
private String oAuth2ClientSecret;
@Value("${ApiUrl}")
private String accessTokenUri;
@Bean
public OAuth2RestTemplate oAuthRestTemplate() {
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setClientId(oAuth2ClientId);
resourceDetails.setClientSecret(oAuth2ClientSecret);
resourceDetails.setAccessTokenUri(accessTokenUri);
resourceDetails.setTokenName("accessToken");
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(resourceDetails, new DefaultOAuth2ClientContext());
return restTemplate;
}
}
例如,如果我使用POSTMAN对tokenUri进行POST调用,我会正确获取令牌...