web-dev-qa-db-ja.com

JMeterでOAuth 2.0認証を行う方法は?

認証が必要ないくつかのAPI(OAuth 2.0)を機能テストし、これをJMeterでシミュレートしようとしています。

AzureクラウドのOAuthサービスを認証しようとしています。OAuth 2.0に対して認証するために、JMeter HTTPリクエストを正常に作成できた人はいますか?

4
Husain Khambaty

APIテスト自動化の一環として、ネイティブクライアントIDを作成し、必要なリソースをネイティブクライアントに割り当てました。

必要なのはadal4j-1.6.X.jar

public static AuthenticationResult getAuthToken(String username, String password, 
String clientId, String authority, String tenant, String urii) throws Throwable {

    AuthenticationContext context = null;
    AuthenticationResult result = null;
    ExecutorService service = null;

    crypToUtil td= new crypToUtil();
    crypToUtil cryptoUtil = new crypToUtil(); 

    password = cryptoUtil.decrypt(password);

    try {

        service = Executors.newFixedThreadPool(1);
        context = new AuthenticationContext(authority + tenant + "/", true,service);
        Future<AuthenticationResult> future = context.acquireToken(urii, clientId, username, password,null);
        result = future.get();                

    } catch (ExecutionException | MalformedURLException e) {

        throw e.getCause();

    } finally {

        service.shutdown();

    }

    if (result == null) {

        throw new ServiceUnavailableException("authentication result was null, could be your input data were wrong ...");

    }

    return result;

}
0
Vijay N