How to really get the OAuth 2 token automatically
I wrote some code that gets an access token. When the code runs, a browser displays on the screen which contains the access token.
But when I try to get the access token and log it, a null string is being displayed. Also, I do not know if there is a way to force the browser to close using my code. Right now when I run this code, the browser window opens but I have to click on it to close it.
Could you please let me know what I am doing wrong ?
import com.eviware.soapui.impl.rest.actions.oauth.OltuOAuth2ClientFacade import com.eviware.soapui.support.editor.inspectors.auth.TokenType def project = context.getTestCase().getTestSuite().getProject(); def oAuthProfile = project.getAuthRepository().getEntry("IMAGEN_Profile"); def clientSecret = testRunner.testCase.testSuite.getPropertyValue("Client_Secret") def clientID = testRunner.testCase.testSuite.getPropertyValue("Client_ID") oAuthProfile.setClientSecret(clientSecret); oAuthProfile.setClientID(clientID); log.info("Client Secret:"+clientSecret) log.info("Client ID:"+clientID) // the following code for getting new access token def oAuthClientFacade = new OltuOAuth2ClientFacade(TokenType.ACCESS); oAuthClientFacade.requestAccessToken(oAuthProfile, true); def accessToken = oAuthProfile.getAccessToken() testRunner.testCase.testSuite.setPropertyValue("Auth_Code",accessToken) log.info("Access Token:"+accessToken)
I've read this article about 40 times and get nothing from it. I'm lost in the Auth Manager, I can't get an access token unless I use "Authorization Code Grant" and it only gives it to me in a web browser that I can do nothing with. Are there any classes on OAuth 2 with ReadyAPI? Maybe that would be helpful. Like a course for dummies. I'm not a dummy, but don't deal with websites very often, mostly do background stuff in PowerShell, Ruby, VBA and such.