Napojení na ErsteGroup API – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Napojení na ErsteGroup API – PHP – Fórum – Programujte.comNapojení na ErsteGroup API – PHP – Fórum – Programujte.com

 

jAkErCZ0
Stálý člen
25. 6. 2019   #1
-
0
-

Zdravím,
takže aktuálně jsem došel do fáze kdy žádám o generování access_tokenu Žádost o token

Po potvrzení mě to vrátí na stránku kde jsem o token žádal a získám Přístup

Teď otázka proč mi ten sandbox nevrátil i refresh token? Je to tím že to je testovací verze banky a až na produkční verzi tohle je?

Další věc po vrácení na stránku mi tam háže nějakou informaci

status => 404
    errors =>
        0 =>
        error => "endpoint not found" (18)

Zkoušel sem najít tento problém ale nic sem o tom nenašel logicky mě napadá že chybí nějaký výstup ale jak jej docílit?

A další věc pokouším se získat historii z přiložených testujících účtů ale top se mi také nevede.

vycházím z kódu který byl OAuth 2.0 Client

/**
     * @throws \Nette\Application\AbortException
     */
    public function ActionBank(){
        // Note: the GenericProvider requires the `urlAuthorize` option, even though
        // it's not used in the OAuth 2.0 client credentials grant type.
        $provider = new \League\OAuth2\Client\Provider\GenericProvider([
            'clientId'                => 'CLIENT_ID',    // The client ID assigned to you by the provider
            'clientSecret'            => 'SECRET_ID',    // The client password assigned to you by the provider
            'redirectUri'             => 'http://localhost/Intranet/homepage/bank',
            'urlAuthorize'            => 'https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/auth',
            'urlAccessToken'          => 'https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/token',
            'urlResourceOwnerDetails' => 'https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v1/accounts'
        ]);

// If we don't have an authorization code then get one
        if (!isset($_GET['code'])) {

            // Fetch the authorization URL from the provider; this returns the
            // urlAuthorize option and generates and applies any necessary parameters
            // (e.g. state).
            $authorizationUrl = $provider->getAuthorizationUrl();

            // Get the state generated for you and store it to the session.
            $_SESSION['oauth2state'] = $provider->getState();

            // Redirect the user to the authorization URL.
            header('Location: ' . $authorizationUrl);
            exit;

// Check given state against previously stored one to mitigate CSRF attack
        } elseif (empty($_GET['state']) || (isset($_SESSION['oauth2state']) && $_GET['state'] !== $_SESSION['oauth2state'])) {

            if (isset($_SESSION['oauth2state'])) {
                unset($_SESSION['oauth2state']);
            }

            exit('Invalid state');

        } else {

            try {
                // Try to get an access token using the authorization code grant.
                $accessToken = $provider->getAccessToken('authorization_code', [
                    'code' => $_GET['code']
                ]);

                // We have an access token, which we may use in authenticated
                // requests against the service provider's API.
                echo 'Access Token: ' . $accessToken->getToken() . "<br>";
                echo 'Refresh Token: ' . $accessToken->getRefreshToken() . "<br>";
                echo 'Expired in: ' . $accessToken->getExpires() . "<br>";
                echo 'Already expired? ' . ($accessToken->hasExpired() ? 'expired' : 'not expired') . "<br>";

                // Using the access token, we may look up details about the
                // resource owner.
                $resourceOwner = $provider->getResourceOwner($accessToken);
                bdump($accessToken);
                bdump($resourceOwner->toArray());

                // The provider provides a way to get an authenticated API request for
                // the service, using the access token; it returns an object conforming
                // to Psr\Http\Message\RequestInterface.
                $request = $provider->getAuthenticatedRequest(
                    'GET',
                    'https://webapi.developers.erstegroup.com/api/csas/public/sandbox/v1/accounts',
                    $accessToken
                );

            bdump($request->getBody());


                if ($accessToken->hasExpired()) {
                    $newAccessToken = $provider->getAccessToken('refresh_token', [
                        'refresh_token' => $accessToken->getRefreshToken()
                    ]);


                    bdump($newAccessToken);
                    // Purge old access token and store new access token to your data store.
                }

            } catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {

                // Failed to get the access token or user details.
                echo $e->getMessage();

            }

        }
        $this->terminate();
    }

Takže bych byl rád kdyby mi někdo zkusil nasměrovat k úspěšnému závěru.

Díky všem za pomoc :)

Nahlásit jako SPAM
IP: 109.183.230.–
remmidemmi0
Věrný člen
5. 7. 2019   #2
-
0
-

#1 jAkErCZ
bude potřeba se zeptat borců v ErsteGroup. Třeba je chybka u nich.

Nahlásit jako SPAM
IP: 130.255.16.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

Podobná vlákna

SSL napojení do DB — založil Row

V C++ napojeni na DB mysql — založil Andy_747

Napojení na jiný namespace — založil TomasUL

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý