Bagikan melalui


Autentikasi pengguna akhir - Java dengan Data Lake Storage Gen1 menggunakan REST API

Dalam artikel ini, Anda akan mempelajari tentang cara menggunakan REST API untuk melakukan autentikasi pengguna akhir dengan Azure Data Lake Storage Gen1. Untuk autentikasi layanan ke layanan dengan Data Lake Storage Gen1 menggunakan REST API, lihat Autentikasi layanan ke layanan dengan Data Lake Storage Gen1 menggunakan REST API.

Prasyarat

Autentikasi pengguna akhir

Autentikasi pengguna akhir adalah pendekatan yang direkomendasikan jika Anda ingin pengguna masuk ke aplikasi Anda menggunakan Microsoft Entra ID. Aplikasi Anda dapat mengakses sumber daya Azure dengan tingkat akses yang sama dengan pengguna yang masuk. Pengguna akhir perlu memberikan kredensial mereka secara berkala agar aplikasi Anda dapat memelihara akses.

Dengan masuknya pengguna akhir, aplikasi Anda mendapatkan token akses dan token refresh. Token akses akan dilampirkan ke setiap permintaan yang dibuat ke Data Lake Storage Gen1 atau Data Lake Analytics, dan secara default, berlaku selama satu jam. Token refresh dapat digunakan untuk mendapatkan token akses baru, dan secara default, berlaku selama dua minggu, jika digunakan secara rutin. Anda dapat menggunakan dua pendekatan berbeda untuk pengguna akhir yang masuk.

Dalam skenario ini, aplikasi meminta pengguna untuk masuk dan semua operasi dilakukan dalam konteks pengguna. Lakukan langkah-langkah berikut:

  1. Melalui aplikasi Anda, alihkan pengguna ke URL berikut:

    https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize?client_id=<APPLICATION-ID>&response_type=code&redirect_uri=<REDIRECT-URI>

    Catatan

    <REDIRECT-URI> perlu dikodekan untuk digunakan dalam URL. Jadi, untuk https://localhost , gunakan https%3A%2F%2Flocalhost )

    Untuk tujuan tutorial ini, Anda dapat mengganti nilai tempat penampung di URL di atas dan menempelkannya di bilah alamat browser web. Anda akan diarahkan untuk mengautentikasi menggunakan masuk Azure Anda. Setelah Anda berhasil masuk, respons ditampilkan di bilah alamat browser. Respons akan dalam format berikut:

    http://localhost/?code=<AUTHORIZATION-CODE>&session_state=<GUID>

  2. Ambil kode otorisasi dari respons tersebut. Untuk tutorial ini, Anda dapat menyalin kode otorisasi dari bilah alamat browser web dan meneruskannya dalam permintaan POST ke titik akhir token, seperti yang ditunjukkan dalam cuplikan berikut:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \
    -F redirect_uri=<REDIRECT-URI> \
    -F grant_type=authorization_code \
    -F resource=https://management.core.windows.net/ \
    -F client_id=<APPLICATION-ID> \
    -F code=<AUTHORIZATION-CODE>
    

    Catatan

    Dalam hal ini, <REDIRECT-URI> tidak perlu dikodekan.

  3. Responsnya adalah objek JSON yang berisi token akses (misalnya, "access_token": "<ACCESS_TOKEN>") dan token refresh (misalnya, "refresh_token": "<REFRESH_TOKEN>"). Aplikasi Anda menggunakan token akses saat mengakses Azure Data Lake Storage Gen1 dan token refresh untuk mendapatkan token akses lain saat token akses tidak dapat digunakan lagi.

    {"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461865782","not_before":    "1461861882","resource":"https://management.core.windows.net/","access_token":"<REDACTED>","refresh_token":"<REDACTED>","id_token":"<REDACTED>"}
    
  4. Saat masa pakai token akses habis, Anda dapat meminta token akses baru menggunakan token refresh, seperti yang ditunjukkan pada cuplikan berikut:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token  \
         -F grant_type=refresh_token \
         -F resource=https://management.core.windows.net/ \
         -F client_id=<APPLICATION-ID> \
         -F refresh_token=<REFRESH-TOKEN>
    

Untuk informasi selengkapnya tentang autentikasi pengguna interaktif, lihat Alur akses kode otorisasi.

Langkah berikutnya

Dalam artikel ini, Anda telah mempelajari cara menggunakan autentikasi antar layanan untuk mengautentikasikan dengan Azure Data Lake Storage Gen1 menggunakan REST API. Sekarang Anda dapat membaca artikel berikut yang membahas tentang cara menggunakan REST API untuk menggunakan Azure Data Lake Storage Gen1.