IConfidentialClientApplication 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表機密客戶端應用程式——網頁應用程式、網頁 API、守護程序應用程式。
public interface IConfidentialClientApplication : Microsoft.Identity.Client.IByUserFederatedIdentityCredential, Microsoft.Identity.Client.IClientApplicationBase
type IConfidentialClientApplication = interface
interface IClientApplicationBase
interface IApplicationBase
interface IByUserFederatedIdentityCredential
Public Interface IConfidentialClientApplication
Implements IByUserFederatedIdentityCredential, IClientApplicationBase
- 衍生
- 實作
備註
機密用戶端應用程式通常是在伺服器上執行的應用程式(網頁應用程式、網頁 API,甚至是服務/守護程序應用程式)。 它們被認為難以存取,因此能夠保護應用程式的秘密(保留設定時間的秘密,因為這些值對終端使用者來說很難提取)。 網頁應用程式是最常見的機密客戶端。 用戶端 ID 會透過網頁瀏覽器公開,但秘密只會在後台通道傳遞,從未直接暴露。 詳情請參閱 客戶應用程式。
屬性
| 名稱 | Description |
|---|---|
| AppConfig |
關於 ClientApplication 除錯配置的詳細說明。 (繼承來源 IClientApplicationBase) |
| AppTokenCache |
應用程式令牌快取,存放此應用程式的存取權杖。 通話時會靜默維護和更新 AcquireTokenForClient(IEnumerable<String>) |
| Authority |
取得權威機構的網址,或 MSAL.NET 將從中取得安全權杖的安全憑證服務(STS)。
此屬性的回傳值要麼是開發者在應用程式建構子中提供的值,要麼是靜態成員的值Microsoft.Identity.Client.ApplicationBase.DefaultAuthority(即 |
| UserTokenCache |
使用者代幣快取,儲存 ID 代幣、存取代幣及帳號刷新代幣。 呼叫時會靜默 AcquireTokenSilent(IEnumerable<String>, IAccount) 使用並更新,呼叫時會由每個取得令牌方法 AcquireTokenForClient(IEnumerable<String>) 更新,例外僅使用應用程式快取(參見 AppTokenCache)。 (繼承來源 IClientApplicationBase) |
方法
| 名稱 | Description |
|---|---|
| AcquireTokenByAuthorizationCode(IEnumerable<String>, String) |
利用先前透過 OAuth 2.0 授權碼流程從身份提供者收到的授權碼,從應用程式中設定的權威機構取得憑證。 請參見 授權代碼流程。 此流程通常用於網頁應用程式(例如 ASP.NET 和 ASP.NET Core 網頁應用程式),這些應用程式會讓使用者登入並能請求授權碼。 此方法不會查看標記快取,而是將結果儲存在其中。 在呼叫此方法之前,請使用其他方法,例如 AcquireTokenSilent(IEnumerable<String>, IAccount) 檢查令牌快取。 |
| AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, Guid, String) |
代表使用者使用聯邦身份憑證斷言取得一個令牌。
這使用 |
| AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String) |
代表使用者使用聯邦身份憑證斷言取得一個令牌。
這使用 |
| AcquireTokenForClient(IEnumerable<String>) |
利用用戶端憑證流程,從應用程式中為機密客戶端本身(非使用者)設定的權威機構取得一個令牌。 請參閱 客戶憑證流程。 在此操作中,MSAL 會先在快取中搜尋未過期的令牌,然後再從 Microsoft Entra ID 取得新的令牌。 |
| AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) |
從該應用程式中設定的權威機構取得該應用程式的存取權杖(通常是網頁 API),以便代表使用 OAuth 2.0 On-Behalf-Of 流程的使用者存取另一個下游受保護的網頁 API。 在此操作中,MSAL 會先在快取中搜尋未過期的令牌,然後再從 Microsoft Entra ID 取得新的令牌。 請參見 On-Behalf-Of Flow。 |
| AcquireTokenSilent(IEnumerable<String>, IAccount) |
嘗試從使用者令牌快取取得存取權杖 |
| AcquireTokenSilent(IEnumerable<String>, String) |
已淘汰.
在機密客戶端應用程式中,會使用 AcquireTokenSilent(IEnumerable<String>, IAccount) 。 |
| GetAccountAsync(String) |
透過其識別碼在令牌快取中可用的帳戶中取得 IAccount ,且與 相同環境(權威主機) Authority的。 (繼承來源 IClientApplicationBase) |
| GetAccountsAsync() |
已淘汰.
在網頁應用程式和網頁 API 中使用 GetAccountAsync(String) ,並使用令牌快取序列化器以提升安全性與效能。 參見 https://aka.ms/msal-net-cca-token-cache-serialization。 |
| GetAccountsAsync(String) |
只有在 Azure AD B2C 情境下,根據使用者流程,依據憑證快取中可用的帳號,依照其識別碼取得IAccount集合。 (繼承來源 IClientApplicationBase) |
| GetAuthorizationRequestUrl(IEnumerable<String>) |
計算授權請求的 URL,讓使用者登入並同意應用程式存取使用者名下的特定範圍。 該 URL 會鎖定應用程式中設定的權威機構的 /authorize 端點。 |
| RemoveAsync(IAccount) |
移除該帳號快取中的所有代幣。 (繼承來源 IClientApplicationBase) |
擴充方法
| 名稱 | Description |
|---|---|
| GetCertificate(IConfidentialClientApplication) |
回傳用於建立此檔案 ConfidentialClientApplication的憑證(如果有的話)。 |