Hi Dave,Thanks for your kind responses. I have contacted the author and fork the module from github and made possible to redirect to our OKTA authorization page by modifying ReuestTokenV2.pm. Please check below code snippet that made it possible but one thing how can i capture the headers query string parameter from browser
My main goal is to capture the query string parameter "code" in order to get the value and utlize the same to get the access_token from our OKTA authorization server. I am trying to code sub function in my OP.pm, I was wondering i could utlize the HTTP request in same
app.psgi
use strict;
use warnings;
use Plack::Middleware;
use Plack::Middleware::OAuth;
use Plack::Middleware::OAuth::dev;
use URI;
use LWP::UserAgent;
use Plack::Builder;
use Plack::Middleware;
use Authen::Simple::ActiveDirectory;
use Log::Log4perl;
builder {enable 'OAuth',
on_success => => sub {
my ($self,$token) = @_;
my $userinfo = Plack::Middleware::OAuth::UserInfo->new( config
+=> $self->config , token => $token );
if( $token->is_provider('Dev') ) {
my $info = $userinfo->ask( $token->provider );
return $self->to_yaml( $info );
}
return $self->render( 'Error' );
},
providers => { 'Dev' => { client_id => 'xxxxxxxxxxxxxxxxxxx',
client_secret => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxx'
},
};
webapp->to_app;
};
Please check below config dev.pm
package Plack::Middleware::OAuth::dev;
use warnings;
use strict;
sub config { + {
version => 2,
authorize_url => 'https://dev.oktapreview.com/oauth2/v1/authori
+ze',
access_token_url => 'https://dev.oktapreview.com/oauth2/v1/token',
response_type => 'code',
redirect_uri => 'https://testchandan.com:5001',
grant_type => 'authorization_code',
scope => 'openid',
state => '1234',
} }
1;
|