Exemplo n.º 1
0
  <body>
    <p>Ten przykład pokazuje sposób w jaki można użyć NKConnect do logowania bez potrzeby używania dodatkowej strony
    obsługującej callback. Dla nie zalogowanego użytkownika wyświetlamy przycisk "Zaloguj z NK" który otworzy stronę
    logowania w portalu NK i poprosi użytkownika o akceptację dostępu do danych. Po zalogowaniu uruchamiana jest sesja,
    dzięki czemu na dowolnej stronie, poprzez użycie</p>
    <pre>
    $auth = new NKConnect($conf);
    $user = $auth->user()
    </pre>
    <p>masz dostęp do informacji o zalogowanym użytkowniku.</p>
    
    <?php 
if ($auth->authenticated()) {
    ?>
      Jesteś zalogowany jako <?php 
    echo htmlspecialchars($auth->user()->name());
    ?>
.<br />
      <img src="<?php 
    echo $auth->user()->thumbnailUrl();
    ?>
"  alt="Thumb"/><br />
      <a href="<?php 
    echo $auth->logoutLink();
    ?>
">Wyloguj</a>
    <?php 
} else {
    ?>
      <?php 
    echo $auth->button();
Exemplo n.º 2
0
  <head>
    <title>Demo services</title>
  </head>
  <body>
    <?php 
if ($auth->authenticated()) {
    ?>
      <span style="color: red">Uwaga!</span>
      <br />
      Jeśli poniżej dostaniesz wyjątek braku dostępu, wyloguj się, i zaloguj ponownie, NK poprosi Cię o akceptacje nowego zestawu uprawnień.<br />
      <a href="<?php 
    echo $auth->logoutLink();
    ?>
">Wyloguj</a><br />
      Jesteś zalogowany jako <?php 
    echo htmlspecialchars($auth->user()->name());
    ?>
 <img src="<?php 
    echo $auth->user()->thumbnailUrl();
    ?>
" /><br />
    <?php 
} else {
    ?>
      <?php 
    echo $auth->button();
    ?>
    <?php 
}
?>
    <br />
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Załaduj wspólny plik konfiguracji
require 'authentication2config.php';
$auth = new NKConnect($conf);
if ($auth->handleCallback()) {
    // Tutaj umieść kod, który wykonany zostanie po udanym zalogowaniu użytkownika na NK, wsztstkie dane użytkownika
    // dostępne są poprzez $auth->user() - możesz także skorzystać z dostępnych serwisów NK, przykłady znajdziesz w
    // pliku services.php.
    // Poniższy kawałek kodu jest prostym przykładem, służy do zademonstrowania *przykładowego* sposobu obsługi
    // użytkowników we własnej bazie danych
    // Sprawdź używając NK id, czy użytkownik znajduje się w bazie danych
    $q = $db->prepare("SELECT * FROM `users` WHERE `nk_person_id` = :nk_person_id");
    $q->bindValue('nk_person_id', $auth->user()->id(), PDO::PARAM_STR);
    $q->execute();
    if (false === ($u = $q->fetch(PDO::FETCH_ASSOC))) {
        // W bazie nie ma użytkownika, zarejestrujmy go
        $q = $db->prepare("INSERT INTO `users` (`nk_person_id`, `name`, `last_login_1`, `last_login_2`, `login_count`) VALUES (:nk_person_id, :name, :now, :now, 1)");
        $q->bindValue('nk_person_id', $auth->user()->id(), PDO::PARAM_STR);
        $q->bindValue('name', $auth->user()->name(), PDO::PARAM_STR);
        $q->bindValue('now', @date("Y-m-d H:i:s"), PDO::PARAM_STR);
        $q->execute();
    } else {
        // Użytkownik istnieje, zaktualizujmy datę ostatniego logowania i podbijmy licznik
        $q = $db->prepare("UPDATE `users` SET `last_login_2` = `last_login_1`, `last_login_1` = :now, `login_count` = (`login_count` + 1) WHERE `id` = :id");
        $q->bindValue('id', $u['id'], PDO::PARAM_INT);
        $q->bindValue('now', @date("Y-m-d H:i:s"), PDO::PARAM_STR);
        $q->execute();
    }
Exemplo n.º 4
0
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Załaduj wspólny plik konfiguracji
require 'authentication2config.php';
$auth = new NKConnect($conf);
if ($auth->authenticated()) {
    // Ten kawałek kodu próbuje odszukać w lokalnej bazie danych użytkownika zalogowanego przez NK
    // Jeśli użytkownik jest zalogowany spróbuj pobrać jego dane
    $q = $db->prepare("SELECT * FROM `users` WHERE `nk_person_id` = :nk_person_id");
    $q->bindValue('nk_person_id', $auth->user()->id(), PDO::PARAM_STR);
    $q->execute();
    $user = $q->fetch(PDO::FETCH_ASSOC);
}
?>
<html>
  <head>
    <title>Demo autentykacji z użyciem NKConnect i wydzielonej strony z callbackiem</title>
  </head>
  <body>
    <p>Ten przykład pokazuje sposób w jaki można użyć NKConnect do logowania, z użyciem osobnej strony obsługującej callback
    wraz z integracją z istniejącą bazą danych użytkowników/rejestrowaniem nowych użytkowników. Adres strony z kodem callbacka
    powinieneś określić w konfiguracji. Na stronie logowania, lub dowolnych innych umieść przycisk, na stronie
    obsługującej callback umieść kod podobny do tego, który znajdziesz w przykładzie authentication2callback.php
    Po zalogowaniu uruchamiana jest sesja, dzięki czemu na dowolnej stronie, poprzez użycie</p>
    <pre>