Bagaimana cara agar Otentikasi HTTP Dasar berfungsi untuk aplikasi Apigility?

Saya menyiapkan Otentikasi Dasar seperti dalam dokumen Apigility yang dijelaskan (dokumen tersebut tidak mutakhir lagi, namun langkah utamanya tetap sama). Jadi, saya membuat file users.htpasswd dan menambahkan adaptor otentikasi. /config/autoload/local.php saya telah diperbarui dan mendapatkan konfigurasi adaptor:

return array(
    ...
    'zf-mvc-auth' => array(
        'authentication' => array(
            'adapters' => array(
                'dummy basic auth' => array(
                    'adapter' => 'ZF\\MvcAuth\\Authentication\\HttpAdapter',
                    'options' => array(
                        'accept_schemes' => array(
                            0 => 'basic',
                        ),
                        'realm' => 'Dummy Realm',
                        'htpasswd' => 'data/users.htpasswd',
                    ),
                ),
            ),
        ),
    ),
);

Sejauh ini bagus:

Test: I sent a `GET` request got the data just like before the auth setup.
Expected: `200 OK`
Result: `200 OK`
OK

Lalu saya pergi ke Apigility Admin Backend -> My API -> My Rest Service -> Authorization dan menandai metode dan titik akhir, saya ingin memerlukan otorisasi.

Test: I sent a new request without credentials / authentication token.
Expected: `403 Forbidden`
Result: `403 Forbidden`
OK

Test: I sent another request with wrong credentials / authentication token.
Expected: `401 Unauthorized`
Result: `403 Forbidden`
FAIL

Test: I sent a request with correct credentials / authentication token.
Expected: `200 OK`
Result: `403 Forbidden`
FAIL

Apa yang saya lakukan salah? Bagaimana cara agar Otentikasi HTTP Dasar berfungsi?


person automatix    schedule 12.05.2015    source sumber


Jawaban (1)


Pada versi baru Apigility (tidak yakin yang mana, tetapi lebih besar dari 1.0) terdapat kemampuan untuk membuat beberapa adaptor Auth dan mengaitkan setiap API ke adaptor Auth yang berbeda.

Jika Anda telah membuat adaptor autentikasi (Otentikasi di atas -> Adaptor -> Adaptor Baru), Anda akan memiliki nama adaptor untuk HTTP Basic yang Anda siapkan. Catatlah itu.

Lalu buka API Anda (yang cocok dengan nama modul yang berisi sumber daya Anda, bukan sumber daya individual). Di layar itu Anda akan melihat "Otentikasi" di kiri atas dengan drop down.

Pemilih Adaptor Auth

Di tarik-turun, pilih adaptor autentikasi yang Anda buat dan simpan pilihan Anda. Sumber daya Anda di bawah API tersebut sekarang akan merespons dengan benar berdasarkan apakah Anda diautentikasi atau tidak.

person David Stockton    schedule 13.05.2015