package webapp; use Dancer2; use Op; use Op1; use URI; use Net::OAuth2::Client; use HTML::Entities; use Data::Dumper; use parent 'Exporter'; our $accestoken = ""; our @access_token; sub client { Net::OAuth2::Profile::WebServer->new( client_id => 'xxxxxxxxxxxxxxxxxxx', client_secret => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx', authorize_url => 'https://dev.oktapreview.com/oauth2/v1/authorize', access_token_url => 'https://dev.oktapreview.com/oauth2/v1/token', redirect_uri => uri_for ("/got/$site_id"), grant_type => 'authorization_code', ); } get '/got/:site_id' => sub { my $p = params->{code}; defined params->{code} or print "Error: Missing access code"; my $id = route_parameters->get('site_id'); my $site_id = params->{$id}; @access_token = client($site_id)->get_access_token($p); template 'query2' => { 'title' => 'webapp' }; }; post '/'=> sub { my $r2 = Op::result3({OKTAUsersList => param('OKTA-Users-List'), Email => param('Email')}); template result3 => { title => 'webapp', result3 => $r2 } }; true;