справиться с приложением Quickbook Hello World, все работает нормально, но у меня есть то, что я считаю простым вопросом - PullRequest
0 голосов
/ 26 марта 2020

в application.properties Мне нужно установить ключи OAuth2 ...

OAuth2AppClientId=AB............................AN

OAuth2AppClientSecret=br................................u8

OAuth2AppRedirectUri=http://localhost:8085/oauth2redirect

Сначала я поместил ключи в кавычки "", предполагая, что они должны рассматриваться как строка, но чтобы это работало, у меня было удалить их. Может кто-нибудь объяснить, что происходит с

OAuth2AppClientId=AB............................AN when I build the app 

и как мне узнать больше о OAuth2AppClientId?

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

Если вы хотите увидеть, как код загружает это, это только свойство, используемое внутри приложения

OAuth2PlatformClientFactory

@Service
@PropertySource(value="classpath:/application.properties", ignoreResourceNotFound=true)
public class OAuth2PlatformClientFactory {

    @Autowired
    org.springframework.core.env.Environment env;

    OAuth2PlatformClient client;
    OAuth2Config oauth2Config;

    @PostConstruct
    public void init() {
        // intitialize a single thread executor, this will ensure only one thread processes the queue
        oauth2Config = new OAuth2Config.OAuth2ConfigBuilder(env.getProperty("OAuth2AppClientId"), env.getProperty("OAuth2AppClientSecret")) //set client id, secret
                .callDiscoveryAPI(Environment.SANDBOX) // call discovery API to populate urls
                .buildConfig();
        client  = new OAuth2PlatformClient(oauth2Config);
    }


    public OAuth2PlatformClient getOAuth2PlatformClient()  {
        return client;
    }

    public OAuth2Config getOAuth2Config()  {
        return oauth2Config;
    }

    public String getPropertyValue(String propertyName) {
        return env.getProperty(propertyName);
    }

}

https://github.com/IntuitDeveloper/OAuth2-JavaWithSDK/blob/master/src/main/java/com/intuit/developer/sampleapp/oauth2/client/OAuth2PlatformClientFactory.java

0 голосов
/ 26 марта 2020

A Google search , вероятно, это то место, с которого можно начать здесь. Вот большой ресурс о том, что такое Client ID и Client Secret:

Я цитирую:

  • The client_id is a public identifier for apps.
  • The client_secret is a secret known only to the application and the authorization server.

Intuit также имеет тонну документации по OAuth2 и способам ее реализации. Вы должны прочитать:

В итоге, Client ID - это то, как Intuit определяет, что это ваше приложение пытается подключиться к QuickBooks. При сборке / компиляции приложения ничего не происходит со строкой - это просто нормально string. Но когда ваше приложение проходит аутентификацию на QuickBooks Online, оно отправляет Client ID на QuickBooks, чтобы QuickBooks знал, что это ваше приложение пытается авторизовать соединение с QuickBooks, а не какое-либо другое приложение.

...