Nasazení Auth0 (asi problém routování)

adferg
Člen | 31
+
0
-

Ahoj, s Nette se zatím učím. Chtěl bych rozjet správu uživatelů pomocí Auth0. Postupoval jsem přesně podle tohoto návodu:https://auth0.com/…hentication/#….
Do RouterFactory se má podle návodu vložit:

$router[] = new Route('login', 'Authentication:login');
$router[] = new Route('logout', 'Authentication:logout');
$router[] = new Route('callback', 'Authentication:callback');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');

Změnil jsem na:

	public static function createRouter(): RouteList
	{
		$router = new RouteList;
		$router->addRoute('<presenter>/<action>[/<id>]', 'Homepage:default');
		$router->addRoute('login', 'Authentication:login');
		$router->addRoute('logout', 'Authentication:logout');
		$router->addRoute('callback', 'Authentication:callback');
		return $router;
	}
}

V tuhle chvíli mi to už nehlásí chybu, Auth0 mi nabídne možnost zalogování, ale po zadání jména/hesla chybová hláška browseru ERR_CONNECTION_REFUSED. V URL je: http://localhost:8000/callback?…

Budu opravdu velmi velmi vděčný, pokud mi pomůžete. Děkuju, Adferg

CZechBoY
Člen | 3608
+
0
-

Tu obecnou routu vloz urcite na konec. Routy by mely jit od nejkonkretnejsi az po obecne. tzn. jako ukazujes v prvnim kodu

adferg
Člen | 31
+
0
-

CZechBoY napsal(a):

Tu obecnou routu vloz urcite na konec. Routy by mely jit od nejkonkretnejsi az po obecne. tzn. jako ukazujes v prvnim kodu

Díky, zkusil jsem, ale bez úspěchu :(
Když zkusím localhost/logout, tak mě to korektně odhlásí, to je OK, když zkusím localhost/callback tak mi tracy hodí chybu

Class ‚App\Presenters\ForbiddenRequestException‘ not found

a vyčervení řádek 34

24:        $this->redirect('Homepage:');
25:      }
26:
27:      public function actionCallback($code) {
28:        try {
29:          $this->getUser()->login($code);
30:
31:          $this->redirect('Homepage:');
32:        } catch (AuthenticationException $e) {
33:          Debugger::log($e, Debugger::ERROR);
34:         ** throw new ForbiddenRequestException('User not authenticated', IResponse::S403_FORBIDDEN, $e);**
35:        }
36:      }
37:
38:    }
CZechBoY
Člen | 3608
+
0
-

Asi ti chybi use Nette\Application\ForbiddenRequestException;

Klidne misto exception muzes pouzit i error metodu

$this->error('You Shall Not Pass!', Nette\HTTP\IResponse::S403_FORBIDDEN);
adferg
Člen | 31
+
0
-

@CZechBoY Přidal jsem Error metodu, ale problém vyřešila až změn URL callbacku. Jak v administaci Auth0 tak v configu je potřeba ODSTRANIT číslo portu webserveru. Korektně je tedy „http://domain/callback“.

Ještě jednou díky