我在OKTA的开发人员帐户中工作。OKTA - OAuthError:redirect_uri参数非法值
我想获得一个非常简单的SPA应用程序来从OKTA获得智威汤逊。
我登录与authClient.signIn({})并且返回transaction.sessionToken/
与该会话令牌,我应该能够调用authClient.token.getWithoutPrompt({ })但我永远不能达到该代码。
我收到以下错误:OAuthError:redirect_uri参数的值非法。
如何超越此OAuth错误,以便我终于可以取回JWT。我已经尝试过OKTA GIT的例子,但无法获得任何工作。
function getJWT()
{
var orgUrl = 'https://MYXXXXXXX.oktapreview.com';
var keyID = "MY CLIENT ID";
var user = "MYUSER ID";
var pwd = "MY PASWORD"
var appScope = ['openid', 'email', 'profile', 'phone', 'groups'];
var authClient = new OktaAuth({url: orgUrl, clientId: keyID,});
$('#tokendiv').html('');
authClient.signIn({
username: user,
password: pwd,
redirectUri: "http://localhost:5656/test.html" //THIS IS SETUP IN MY OKTA ID
})
.then(function(transaction) {
if (transaction.status === 'SUCCESS') {
authClient.session.setCookieAndRedirect(transaction.sessionToken); // Sets a cookie on redirect
console.log(transaction.sessionToken);
$('#tokendiv').append('<h4>Session Token</h4>' + transaction.sessionToken);
/// THIS IS NEVER REACHED, I Always Get OAuthError: Illegal value for redirect_uri parameter.
authClient.token.getWithoutPrompt({
responseType: 'id_token', // or array of types
scopes: appScope,
sessionToken: transaction.sessionToken
})
.then(function(res) {
console.log("JWT: " + jwt);
$('#tokendiv').append('<h4>JWT</h4>' + res.idToken);
})
.fail(function(err) {
console.log("ERROR " + err);
$('#tokendiv').append('<h4>Error</h4>' + err);
})
} else {
throw 'We cannot handle the ' + transaction.status + ' status';
}
})
.fail(function(err) {
console.error(err);
});
}
我发现如果我删除了authClient.token.getWithoutPrompt({}),我不再得到错误,但我需要该方法来获取JWT。我提到了 –