나는 응용 프로그램에 Azure AD에 등록 된 'Apple'이라는 이름을 지정하고 Azure Management API 응용 프로그램에 대한 위임 된 권한을가집니다. 이 응용 프로그램에 요청하면 하늘색 자원을 만듭니다. 스토리지 계정이 자동으로 작동하며 정상적으로 작동합니다.응용 프로그램 간의 Azure AD 인증
MVC 애플리케이션 인 다른 애플리케이션이 있으며 동일한 AD 테넌트에도 등록되어 있습니다. 두 번째 애플리케이션은 액세스 토큰 입수 다음 코드를 사용
var clientCredentials = new ClientCredential(ConfigurationManager.AppSettings["AD_ClientID"], ConfigurationManager.AppSettings["AD_Client_AccessKey"]);
var authContext = new AuthenticationContext(string.Format(ConfigurationManager.AppSettings["AD_Tenant_Login_Url"], ConfigurationManager.AppSettings["AD_Tenant_Id"]));
var result = authContext.AcquireTokenAsync(ConfigurationManager.AppSettings["AD_Resource"], clientCredentials);
if (result == null)
{
throw new InvalidOperationException("Could not get the token");
}
return result.Result;
결과는 상이한 특성을 갖는 액세스 토큰이다. 이제 두 번째 응용 프로그램은 자원 apple에 대한 액세스 권한으로 액세스 토큰을 검색 한 다음 권한 헤더의 Apple 응용 프로그램으로 전달합니다.
Authorization:bearer TokenString
Apple 응용 프로그램에 컨트롤러에 권한 부여 특성이 추가되었습니다. 응용 프로그램이 코드를 다음과 같이 OAuth를 응용 프로그램과 Owin로 구성되어
public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}
액세스 토큰이 자신의 APPID 및 비밀 키를 사용하여 두 번째 응용 프로그램에서 검색되고 있습니다; 반면 다른 (Apple) 응용 프로그램은 토큰의 유효성을 검사하기 위해 자체 AppId 및 비밀 키를 사용합니다.
그래서 내 문제는 애플의 응용 프로그램이 항상 코드를 위
나는 답장을받지 못하지만 태그를 변경해야합니까? –
나는이 스레드를 [다음] (https://social.msdn.microsoft.com/Forums/azure/en-US/af1f1ddc-649b-4b35-9e16-ced582380e6c/azure-ad-authentication-between-applications)에서 찾으러 가고 있습니다. ? forum = WindowsAzureAD), 문제가 있으면 알려주십시오. –
@ Fee Xue, 다시 나를 붙잡아 주셔서 감사합니다 ... 나는 당신의 대답에 대답했습니다 ... –