Jadual Kandungan
选择当前订阅 ID
创建 AD 应用
创建服务凭证
授权
调用 Oauth2 API 获取 Token
Rumah pembangunan bahagian belakang tutorial php 使用PHP 获取 Azure Active Directory 令牌 的方法

使用PHP 获取 Azure Active Directory 令牌 的方法

Sep 08, 2017 am 09:55 AM
active azure directory

在调用 Azure Rest API 时,如果是属于 Azure Resource Manager 的 API,则需要使用 Azure Active Directory (Azure AD)认证获取令牌(Token),然后才能够进行访问。

 以下是创建 Azure AD 应用,并授权其可以访问管理 Azure 的资源的步骤:

获取更好的阅读体验也可以点击此处。

 Note

以下认证方式,只适用于 Azure Resource Manager 的 API。 即 endpoint 为 management.chinacloudapi.cn 的 API,不适用于 Azure Service Manager 的 API(endpoint 为 management.core.chinacloudapi.cn 的 API)。

 登录 Azure 账户(PowerShell)

 记录获取到的 TenantID 以供后续程序使用。

选择当前订阅 ID

设置当前订阅,多订阅环境下需要执行该步骤 :

Set-AzureRmContext -SubscriptionId <subscription ID>
Salin selepas log masuk

创建 AD 应用

查看新创建的应用对象,属性 ApplicationId,在后续会用来创建服务凭证,角色设置和 Access Token。

$azureAdApplication = New-AzureRmADApplication -DisplayName "exampleapp" -HomePage "https://www.contoso.org" -IdentifierUris "https://www.contoso.org/example" -Password "<Your_Password>"
Salin selepas log masuk

创建服务凭证

Azure AD 应用创建服务凭证:

New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
Salin selepas log masuk

当创建完成服务凭证后,初始是没有任何权限的,我们需要为其设置权限范围。

授权

为您的服务凭证添加角色设置,在该例中,为您的服务凭证设置访问您订阅下所有资源的读权限。 如果想了解更多内容,请参考:Azure Role-based Access Control。

New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $azureAdApplication.ApplicationId
Salin selepas log masuk

其中 RoleDefinitionName 有三种权限设置:

  1. Reader 对Azure资源有读取权限。

  2. Contributor 对Azure资源有管理权限,但无法授权他人。

  3. Owner 对Azure资源拥有管理权限,也可以授权他人管理。

  

调用 Oauth2 API 获取 Token

这样 Azure AD Application 就创建完成了,我们可以使用以下三个信息,来获取认证的 Token。

  1. telent-id 对应订阅信息上使用的 telentID。

  2. application-id 创建应用返回的 ApplicationID。

  3. app password 创建应用时填写的密码。

获取 Token 的方式,使用 Azure login oauth2 的认证接口,如果想了解更多,请参考此文档:Using the Azure Resource Manager REST API。

请参考以下代码:

$tenlent_id = &#39;Your Sub Tenlent ID&#39;;
$client_id = &#39;Application ID&#39;;
$client_secret = &#39;Application Password&#39;;

$auth_url = &#39;https://login.chinacloudapi.cn/&#39;.$tenlent_id.&#39;/oauth2/token?api-version=1.0&#39;;
$auth = curl_init($auth_url);
$post_data= &#39;grant_type=client_credentials&resource=https://management.chinacloudapi.cn/&client_id=&#39;.$client_id.&#39;&client_secret=&#39;.urlencode($client_secret);

curl_setopt_array($auth, array(
CURLOPT_VERBOSE => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => array(
&#39;Content-Type: application/x-www-form-urlencoded&#39;
)
));
curl_exec($atuh);
echo "\n";
Salin selepas log masuk

执行查询后会得到 Token 数据, access_token 即为访问 Token。

{
"token_type": "Bearer",
"expires_in": "3600",
"expires_on": "1455680701",
"not_before": "1455676801",
"resource": "https://management.azure.com/",
"access_token": "eyJ0eXAiOi…"
}
Salin selepas log masuk

然后将您要访问的 API 请求头上加上 Authorization 的 Header 设置,并将其值设置为:

Token 之前要加上 Bearer。

调用示例:

$token = &#39;eyJ0eXA…&#39;;
$host = &#39;management.chinacloudapi.cn&#39;;
$version = &#39;2015-09-01&#39;;
$url = &#39;https://&#39;.$host.&#39;/subscriptions/5bbf0cbb-647d-4bd8-b4e6-26629f109bd7/resourceGroups/Default-MySql-ChinaNorth/providers/Microsoft.MySql/servers/poddbtest/databases/kevintest?api-version=&#39;.$version;
$ch = curl_init($url);
$data = array(
&#39;properties&#39; => array(
&#39;charset&#39; => &#39;utf8&#39;,
&#39;collation&#39; => &#39;utf8_general_ci&#39;
),
);
$json = json_encode($data);

curl_setopt_array($ch, array(
CURLOPT_VERBOSE => 1,
CURLOPT_CUSTOMREQUEST => &#39;PUT&#39;,
CURLOPT_POSTFIELDS => $json,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => array(
&#39;Content-type:application/json&#39;,
&#39;Authorization:Bearer &#39;.$token
)
));

$ret =curl_exec($ch);
if (empty($ret)) {
    // some kind of an error happened
    echo &#39;Curl error: &#39; . curl_error($ch);
} else {
    $info = curl_getinfo($ch);
}
echo "\n";
Salin selepas log masuk

Atas ialah kandungan terperinci 使用PHP 获取 Azure Active Directory 令牌 的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kod ralat 801c03ed: Bagaimana untuk membetulkannya pada Windows 11 Kod ralat 801c03ed: Bagaimana untuk membetulkannya pada Windows 11 Oct 04, 2023 pm 06:05 PM

Ralat 801c03ed biasanya disertakan dengan mesej berikut: Dasar pentadbir tidak membenarkan pengguna ini menyertai peranti. Mesej ralat ini akan menghalang anda daripada memasang Windows dan menyertai rangkaian, dengan itu menghalang anda daripada menggunakan komputer anda, jadi adalah penting untuk menyelesaikan isu ini secepat mungkin. Apakah kod ralat 801c03ed? Ini ialah ralat pemasangan Windows yang berlaku atas sebab berikut: Persediaan Azure tidak membenarkan pengguna baharu untuk menyertai. Objek peranti tidak didayakan pada Azure. Kegagalan cincang perkakasan dalam panel Azure. Bagaimana untuk membetulkan kod ralat 03c11ed pada Windows 801? 1. Semak tetapan Intune Log masuk ke portal Azure. Navigasi ke Peranti dan pilih Tetapan Peranti. Tukar "Pengguna boleh

Pengguna dan Komputer Direktori Aktif Tiada [Diperbaiki dalam 3 Cara] Pengguna dan Komputer Direktori Aktif Tiada [Diperbaiki dalam 3 Cara] Apr 20, 2023 pm 01:25 PM

Kehilangan Pengguna dan Komputer Direktori Aktif (ADUC) adalah salah satu isu paling mengecewakan yang dilaporkan oleh ramai pengguna Windows Pro. ADUC ialah snap-in MMC yang luar biasa yang membolehkan pentadbir mengurus Microsoft Active Directory. Walau bagaimanapun, atas sebab tertentu ia tiada dalam edisi Windows Server atau Enterprise/Pro. Mari kita lihat dengan lebih dekat mengapa ia hilang dan cara kita boleh membetulkannya. Adakah Windows 11 mempunyai Active Directory? Active Directory berguna untuk sesiapa sahaja yang ingin mengurus jauh

Menggunakan Azure Semantic Search dan OpenAI untuk membina sistem carian kognitif Menggunakan Azure Semantic Search dan OpenAI untuk membina sistem carian kognitif Oct 12, 2023 am 10:18 AM

Direka bentuk untuk memudahkan carian dokumen, gabungan perkhidmatan dan platform adalah kunci kepada prestasi yang tiada tandingan. Dalam artikel ini, kami akan meneroka pendekatan holistik yang menggabungkan kuasa Perkhidmatan Kognitif Azure dengan keupayaan OpenAI. Dengan mendalami pengecaman niat, penapisan dokumen, algoritma khusus domain dan ringkasan teks, anda akan belajar untuk mencipta sistem yang bukan sahaja memahami niat pengguna tetapi juga memproses dan mempersembahkan maklumat dengan cekap.

Perkhidmatan Microsoft Azure OpenAI kini menyokong GPT-4 Turbo dengan Vision Perkhidmatan Microsoft Azure OpenAI kini menyokong GPT-4 Turbo dengan Vision Dec 18, 2023 am 08:18 AM

Menurut berita dari tapak ini pada 17 Disember, perkhidmatan Azure OpenAI menyediakan akses API REST kepada model bahasa OpenAI yang berkuasa, termasuk GPT-4, GPT-3.5-Turbo dan siri model terbenam. Microsoft mengumumkan peningkatan lanjut pada perkhidmatan Azure OpenAI dan menyediakan pelanggan versi pratonton awam GPT-4 Turbo dengan Vision Model AI berbilang mod termaju ini mewarisi semua ciri berkuasa GPT-4 Turbo dan juga menambah pemprosesan imej dan kebolehan. Ini membuka peluang untuk memanfaatkan GPT-4 untuk lebih banyak tugas, seperti meningkatkan kebolehcapaian, mentafsir dan menganalisis visualisasi data, dan

Microsoft Azure akan melancarkan pengesahan pelbagai faktor mandatori mulai bulan Oktober Microsoft Azure akan melancarkan pengesahan pelbagai faktor mandatori mulai bulan Oktober Aug 17, 2024 am 07:40 AM

Menurut berita dari laman web ini pada 16 Ogos, Microsoft telah mengeluarkan pengumuman semalam, mengumumkan bahawa ia akan menguatkuasakan fungsi pengesahan berbilang faktor (MFA) mulai Oktober untuk membantu mengurangkan kemungkinan penggodaman akaun. Microsoft berkata MFA boleh menghalang lebih daripada 99.2% daripada serangan kompromi akaun sedemikian, jadi langkah itu adalah wajib. Menurut laporan, proses ini akan dilaksanakan secara beransur-ansur dalam dua fasa Tapak ini meringkaskannya seperti berikut: Fasa 1: Bermula dari Oktober, MFA akan diperlukan untuk log masuk ke portal Azure, Pusat Pengurusan Microsoft Entra dan Pusat Pengurusan Intune, tetapi. ia tidak akan menjejaskan pelanggan Azure yang lain. Fasa 2: Bermula pada awal 2025, keperluan MFA akan berkembang secara beransur-ansur kepada pelanggan Azure yang lain, seperti Azure

Microsoft menetapkan rekod pertahanan sebagai tindak balas kepada serangan DDoS 3.47 Tbps Microsoft menetapkan rekod pertahanan sebagai tindak balas kepada serangan DDoS 3.47 Tbps Apr 22, 2023 am 08:52 AM

Microsoft secara tidak sengaja menetapkan rekod baharu pada November lalu apabila ia mengurangkan serangan DDoS (penafian perkhidmatan teragih) 3.47Tbps. Dalam catatan blog, gergasi Redmond berkongsi data perlindungan Azure DDoS untuk suku ketiga 2021. Syarikat itu menyatakan bahawa bilangan serangan DDoS meningkat pada separuh kedua 2021. DDoS ialah kaedah serangan popular yang boleh digunakan oleh sesiapa sahaja kerana harga perkhidmatan serangan yang rendah. Pada separuh kedua 2021, Microsoft mengurangkan purata 1,955 serangan setiap hari, peningkatan sebanyak 40% daripada separuh pertama tahun itu. Walau bagaimanapun, ini tidak begitu baik berbanding dengan 4,296 serangan yang dikurangkan pada 10 Ogos 2021. secara keseluruhan,

Windows Server VNext Preview Build 25099 Kini Tersedia Windows Server VNext Preview Build 25099 Kini Tersedia Apr 14, 2023 pm 01:55 PM

Microsoft telah mengeluarkan versi baharu Windows Server Insider Preview. Binaan 25099 minggu ini kini tersedia untuk dimuat turun dalam ISO dan VHDX daripada tapak web Windows Server Insider, tetapi seperti biasa, tiada log perubahan penuh untuk diperkatakan, jadi tidak jelas apa yang baharu. Microsoft sekali lagi berkata bahawa jenama itu belum dikemas kini dan masih Windows Server 2022 dalam pratonton. Selain itu, Microsoft menggalakkan orang dalam bekerja pada Azure

See all articles