Я использую AWS Cognito в своем приложении для iOS, чтобы реализовать функции регистрации и входа пользователей. Я использовал официальные документы Amplify SDK DOC (https://aws-amplify.github.io/docs/ios/authentication) в качестве справки, и приложение работает хорошо. Но на самом деле я хочу предоставить своим пользователям разные права доступа, которые могут иметь различное содержимое (например, файлы в S3).
При регистрации в приложении пользователь должен выбрать группу. В зависимости от группы им предоставляются разные права доступа.
Я прочитал документацию SDK и руководство разработчика, но не нашел хорошего способа реализовать эту функцию.
Есть ли какая-либо функция в когнитивном режиме, которую я могу использовать для разделения пользователей на разные пулы идентификации? Или кто-нибудь может показать мне несколько примеров, которые позволяют пользователям иметь разные права доступа.
AWSMobileClient.sharedInstance().signUp(username: "your_username",
password: "Abc@123!",
userAttributes: ["email":"[email protected]", "phone_number": "+1973123456"]) { (signUpResult, error) in
if let signUpResult = signUpResult {
switch(signUpResult.signUpConfirmationState) {
case .confirmed:
print("User is signed up and confirmed.")
case .unconfirmed:
print("User is not confirmed and needs verification via \(signUpResult.codeDeliveryDetails!.deliveryMedium) sent at \(signUpResult.codeDeliveryDetails!.destination!)")
case .unknown:
print("Unexpected case")
}
} else if let error = error {
if let error = error as? AWSMobileClientError {
switch(error) {
case .usernameExists(let message):
print(message)
default:
break
}
}
print("\(error.localizedDescription)")
}
}