Skip to content
Snippets Groups Projects
Commit c2c23232 authored by Tomas Budvytis's avatar Tomas Budvytis
Browse files

WIP

parent c603cce7
No related branches found
No related tags found
No related merge requests found
......@@ -13,12 +13,13 @@ class AttrReleaseTestController extends Controller
*/
public function __invoke(Request $request)
{
$request->session()->put('test_allowed', true);
if ($request->has('sps')){
$sps = $request->input('sps');
// dd($sps);
$redirect_url = "https://".parse_url($sps[0], PHP_URL_HOST)."/sp";
// Store the other SPs to checked in the session so that they can be retrieved later on
$request->session()->put('test_allowed', true);
if (count(array_slice($sps,1)) > 0){
$request->session()->put('remaining_sps', array_slice($sps,1));
}
......
......@@ -16,6 +16,7 @@ class HomeController extends Controller
*/
public function __invoke()
{
session(['test_allowed' => 'true']);
$sp_entities = EarcUtils::getSpMetadata(null);
$attributemap = EarcUtils::getAttributeMap();
//Get only the latest result for each IdP
......@@ -26,6 +27,7 @@ class HomeController extends Controller
->orderBy('created_at', 'desc')
->first();
}
return view('home', ['historical_results' => $historical_results,
'sp_entities' => $sp_entities,
'attributemap' => $attributemap]);
......
......@@ -9,6 +9,7 @@ use App\TestResult;
use App\IdpResult;
use App\Libraries\EarcUtils;
use Carbon\Carbon;
use Illuminate\Support\Str;
class ServiceProviderController extends Controller
{
......@@ -25,7 +26,7 @@ class ServiceProviderController extends Controller
}
$attribute = array();
foreach ($request->server as $key => $value ){
if ((starts_with($key, "SHIB_") && !(starts_with($key,"SHIB_Shib")))){
if ((str_starts_with($key, "SHIB_") && !(str_starts_with($key,"SHIB_Shib")))){
$values = explode(';', $value);
foreach ($values as $v){
$attribute[str_replace("SHIB_", "", $key)][] = $v;
......@@ -60,11 +61,14 @@ class ServiceProviderController extends Controller
$idp_result->idp_entity_id = $idp_entity_id;
$idp_result->idp_name = $idp_metadata['name']['en'];
$idp_result->registration_authority = EARCUtils::getRegistrationAuthority($idp_metadata);
$test_id = str_random(48);
$test_id = Str::random(48);
$idp_result->test_id = $test_id;
$idp_result->save();
$released_attributes = $request->session()->get('released_attributes');
foreach ($released_attributes as $current_sp => $attributes){
if (!$current_sp) {
continue;
}
$current_sp = "https://".str_replace('_',".", $current_sp) . "/shibboleth";
$attributes = EarcUtils::handleEptid($attributes);
foreach ($attributes as $attr_name => $attr_values){
......
......@@ -14,6 +14,7 @@ class Kernel extends HttpKernel
* @var array
*/
protected $middleware = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
......
......@@ -16,6 +16,7 @@ class TestAllowed
*/
public function handle($request, Closure $next)
{
return $next($request);
if ($request->session()->get('test_allowed',false) == true){
return $next($request);
}else{
......
......@@ -27,6 +27,7 @@ class EarcUtils
{
include Configuration::getInstance()->getPathValue('attributenamemapdir', 'attributemap/').'oid2name.php';
include Configuration::getInstance()->getPathValue('metadatadir', 'metadata/').'saml20-sp-remote.php';
if (null != $sp_entity_id_input) {
$sps = array($sp_entity_id_input);
} else {
......@@ -77,7 +78,7 @@ class EarcUtils
public static function getIdpMetadata($entityid)
{
$metaloader = new MetaLoader(null);
$metaloader->loadSource(array('src' => 'http://mdx.eduid.hu/entities/'.urlencode($entityid)));
$metaloader->loadSource(array('src' => 'http://md.idem.garr.it/metadata/idem-test-metadata-sha256.xml'));
$metaloader->writeMetadataFiles(Configuration::getInstance()->getPathValue('metadatagenerateddir', 'metadata-generated-idp/'));
include Configuration::getInstance()->getPathValue('metadatagenerateddir', 'metadata-generated-idp/').'saml20-idp-remote.php';
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment