我有一个用Spring boot编写的客户端应用程序,用于获取访问令牌。
Application.yaml
security:
basic:
enabled: false
oauth2:
client:
clientId: MYID
clientSecret: MYSECRET
accessTokenUri: ${env.oauth.oauth-url}/token
userAuthorizationUri: ${env.oauth.oauth-url}/authorize?
login_hint=${env.tenant}
use-current-uri: false
pre-established-redirect-uri: http://localhost:8080/app1/login
MyConfigurer.java
@Configuration
@EnableOAuth2Sso
public class MYConfigurer
extends WebSecurityConfigurerAdapter{
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated();
}
通过从application.yaml读取oauth2配置,每个http请求使用此代码进行身份验证。如果我从浏览器向此应用程序的终点发出请求,它会将我重定向到要求提供电子邮件ID和密码的页面。然后它验证凭据并使用accesstoken返回应用程序。
我的要求是使用java代码以编程方式进行此身份验证,而不是通过浏览器进行重定向,我将以html格式输入emailid和密码。不知何故,我想通过传递我的详细信息并获取访问令牌,使用rest模板调用这些userAuthorizationUri和accessTokenUri。