有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我已经在应用程序中设置了oauth2属性。属性,如何在代码中使用它们?

在我的SpringBoot应用程序中,我使用GoogleOAuth2让用户从他们的gmail帐户登录。我已经使用我的帐户详细信息获取并设置了客户id、密码和范围,并测试了该程序
但是现在我需要在一个单独的环境中运行它,所以所有硬编码的配置都必须消失
我在应用程序中添加了客户端id、seceret和作用域。属性文件如下,

security.oauth2.client.id= 5******-5**bd***a6.apps.googleusercontent.com
security.oauth2.client.client-secret=m******qb***H
security.oauth2.client.scope[0]=https://www.googleapis.com/auth/admin.directory.user.readonly 

现在了解如何在java类中使用这些属性。对于示例

 public static String getToken() throws Exception {

    String clientId =  "5******-5**bd***a6.apps.googleusercontent.com";
    String clientSecret = "m******qb***H";
    String scope = "https://www.googleapis.com/auth/admin.directory.user.readonly ";

    AuthorizationCodeFlow flow=
            new AuthorizationCodeFlow.Builder(BearerToken.authorizationHeaderAccessMethod(),
                    new NetHttpTransport(),
                    new JacksonFactory(),
                    new GenericUrl(GoogleOAuthConstants.TOKEN_SERVER_URL),
                    new BasicAuthentication(clientId, clientSecret),
                    clientId,
                    GoogleOAuthConstants.AUTHORIZATION_SERVER_URL)
                    .setScopes(Collections.singleton(scope)).build();

我想创建一个config类,并从中获取id、secret和scope值。属性文件,然后在此处使用这些属性所有这些都应该使用Spring来完成,而不是通过文件读取来完成


共 (1) 个答案

  1. # 1 楼答案

    您可以使用如下所示的@Value注释来读取属性

    @Value("${security.oauth2.client.id}")
    private String clientId;