5

나는 응용 프로그램에 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 및 비밀 키를 사용합니다.

그래서 내 문제는 애플의 응용 프로그램이 항상 코드를 위

+0

나는 답장을받지 못하지만 태그를 변경해야합니까? –

+0

나는이 스레드를 [다음] (https://social.msdn.microsoft.com/Forums/azure/en-US/af1f1ddc-649b-4b35-9e16-ced582380e6c/azure-ad-authentication-between-applications)에서 찾으러 가고 있습니다. ? forum = WindowsAzureAD), 문제가 있으면 알려주십시오. –

+0

@ Fee Xue, 다시 나를 붙잡아 주셔서 감사합니다 ... 나는 당신의 대답에 대답했습니다 ... –

답변

0

권한을 부여하지 (401)를 반환하고, 질문, 대답이었다 (토큰 요청시) 자원 ID 및 대상 ID (두 번째 토큰의 유효성 확인 중 응용 프로그램) 일치하지 않았습니다. 그것들을 유지하면 문제가 해결됩니다.

그럼 내가 here

내가 (미리보기 버전에서 아직) 새로운 푸른 포털로 작업하는 경우 그것은 보인다 기술 한 또 다른 문제 다 퉜다의 AD tokenJWT 토큰에 "Roles" 필드를 포함하지 않습니다. 이전 포털에서 앱 구성과 동일한 절차를 수행하면 "Roles" 필드에 JWT 토큰 및 시나리오가 예상대로 실행됩니다.

최소한 미리보기 기능을 위해 Azure 새 포털을 사용하지 마십시오!