0

많은 설명서와 많은 시행 착오를 읽은 후 필자는 aws 모바일 허브 애플리케이션에서 개발자 인증을 위해 람다 (api 게이트웨이) 기반 백엔드를 실제로 만들 수있었습니다.모바일 허브 샘플 ios 애플리케이션 용 AWS 개발자 인증

  • 내 개발자 ID 공급자를 만들 AWSCognitoCredentialsProviderHelper를 서브 클래스 화 한
  • 구현 : 사용자 정의 클래스의 getIdentityId, 토큰 및 로그인

인스턴스 : 다음

devIdentityProvider = DeveloperIdentityProvider(
      regionType: AWSRegionType.USEast1, 
      identityPoolId: getIdentityPoolFromPlist()!, 
      useEnhancedFlow: true, 
      providerName: "login.myapp", 
      identityProviderManager: AWSIdentityManager.defaultIdentityManager()) 

    let credentialsProvider = AWSCognitoCredentialsProvider(
      regionType: AWSRegionType.USEast1, 
      unauthRoleArn: nil, 
      authRoleArn: nil, 
      identityProvider: devIdentityProvider!) 

    let configuration = AWSServiceConfiguration(
      region: AWSRegionType.USEast1, 
      credentialsProvider: credentialsProvider) 

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

나는 credentialsProvider을 .credentials()를 사용하여 백엔드에서 반환 된 토큰/identityId에 대한 인증 된 자격 증명을 가져옵니다. 이 모든 작동하는 것 그리고 나는 AccessKey, SessionKey 등 다시 얻을 그래서 잘 작동하는 것. 에서

의 I는 AWSDynamoDB 또는 syncdata를 호출하려고하면, 비록 블록을 계속 내가 얻을 : 나는 모바일 허브 애플리케이션에서 AWS 서비스는 업데이트 된 자격 증명을받을 수 있는지 확인 누락 될 수 있습니다 무엇

Unauthenticated access is not supported for this identity pool. 

? 또한, 어떻게 AWSIdentityManager를이 프로젝트에 참여시킬 수 있습니까? 왜냐하면 AWSIdentityManager.defaultIdentityManger는 결코 내 custom Identity Provider에서 userName 등을 얻지 못하기 때문입니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변

0

ID 풀에 인증되지 않은 ID를 허용하는 옵션을 선택해 보았습니까?

P .: 사용자 인증 데이터를 인증되지 않은 ID에 저장하는 것은 권장되지 않습니다.

+0

예, 인증되지 않은 액세스를 허용하는 옵션을 선택해 보았습니다. 그런 다음 일치하지 않는 세션 대 요청 신원 ID 오류가 발생합니다. 다시 자격 증명을 얻을 수있는 것 같은데, 기본 서비스에서는 사용할 수 없습니다 ... 앱을 통해 새로운 자격 증명이 전파 될지 잘 모르겠습니다. – xaksis

+0

그 오류는 캐시 된 ID와 관련된 문제가 있음을 암시합니다. ID보다 긴 ID를 캐시하는 작업을하지 않았는지 확인하십시오. 정교하기 위해서는 identityId X를 사용하지만 identityId Y의 자격 ​​증명을 사용하여 작업을 수행하려고한다는 것을 의미합니다. –

0

저는 모바일 허브 도우미와 여러 가지 유사 콘텐츠 (Cognito User Pools 포함)를 통합하는 데 어려움을 겪었습니다.

간단히 대답하면 MobileHubHelper ID 관리자는 현재 Facebook 및 Google 로그인 메커니즘으로 제한됩니다.

이 외에도 다른 ID 공급자와 함께 프로젝트를 구성하려는 모든 시도가 삭제됩니다.

이것을 사용하거나 Git 허브에서 소스를 다운로드하고 수정해야합니다.

관련 문제