Amazon Cognito
简单安全的用户注册、登录和访问控制
把您的时间花在创造出色的应用程序上。
让 Amazon Cognito 处理身份验证。
安全且可扩展的用户目录
Amazon Cognito 用户池提供一个可将用户规模扩展到数亿的安全用户目录。作为一项完全托管服务,用户池很容易设置,无需担心构建服务器基础设施。
阅读有关 Cognito 用户池的更多信息
社交和企业联合身份验证
借助 Amazon Cognito,您的用户可以通过 SAML 使用社交身份提供商(如 Google、Facebook 和 Amazon)以及企业身份提供商(如 Microsoft Active Directory)进行登录。
阅读有关联合的更多信息
保护您的应用程序和用户的安全
Amazon Cognito 支持多重验证功能以及静态和动态数据加密。Amazon Cognito 符合 HIPAA 要求,并满足 PCI DSS、SOC、ISO/IEC 27001、ISO/IEC 27017、ISO/IEC 27018 和 ISO 9001 标准。
阅读更多有关安全性与合规性的信息
AWS 资源访问控制
Amazon Cognito 可提供多种解决方案让您从应用程序控制后端资源访问。您可以定义不同角色并将用户映射到不同的角色,以便您的应用程序仅能访问对每位用户授权的资源。
阅读有关 AWS 资源访问控制的更多信息
与您的应用程序轻松集成
借助内置 UI 以及联合身份提供商的简单配置,您可以在几分钟内集成 Amazon Cognito,为您的应用程序添加用户注册、登录和访问控制功能。您可以自定义 UI,从而将您的公司品牌置于所有用户交互的首要和中心位置。
请参阅如何快速将 Amazon Cognito 与您的应用程序集成
这很简单
-
iOS Objective C
-
Android
-
iOS Swift
-
React Native
-
Web 应用程序
-
iOS Objective C
-
加入用户并使用软件开发工具包和几行代码重新获取令牌。
// iOS Objective-C // AppDelegate.m - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options { return [[AWSCognitoAuth defaultCognitoAuth] application:app openURL:url options:options]; } // ViewController.m AWSCognitoAuth * cognitoAuth = [AWSCognitoAuth defaultCognitoAuth]; [cognitoAuth getSession:self completion:^(AWSCognitoAuthUserSession * _Nullable session, NSError * _Nullable error) { if(error) { NSLog(@"Error: %@", error.userInfo[@"error"]); } else { //Do something with session NSLog(@"Claims: %@", t.result.idToken.claims); } }]; -
Android
-
加入用户并使用软件开发工具包和几行代码重新获取令牌。
//Android // 1) -- Create an instance of Auth -- Auth.Builder builder = new Auth.Builder() .setAppClientId(getString(R.string.cognito_client_id)); .setAppCognitoWebDomain(getString(R.string.cognito_web_domain)); .setApplicationContext(getApplicationContext()); .setAuthHandler(new callback()); .setSignInRedirect(getString(R.string.app_redirect_signin)); .setSignOutRedirect(getString(R.string.app_redirect_signout)); .setScopes(userScopes); auth = builder.build(); // 2) – Set up url redirect in your app manifest -- <intent-filter> <data android:host="YOUR_REDIRECT_URI_AUTHORITY"android:scheme="YOUR_REDIRECT_SCHEME"/> </intent-filter> // 3) -- Get tokens for your user -- auth.getSession(); -
iOS Swift
-
加入用户并使用软件开发工具包和几行代码重新获取令牌。
// iOS Swift // AppDelegate.swift func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { return AWSCognitoAuth.default().application(app, open: url, options: options) } // ViewController.swift let cognitoAuth = AWSCognitoAuth.default() cognitoAuth.getSession(self) { (session:AWSCognitoAuthUserSession?, error:Error?) in if(error != nil) { print((error! as NSError).userInfo["error"] as? String) }else { //Do something with session } } -
React Native
-
加入用户并使用软件开发工具包和几行代码重新获取令牌。
// Add 'aws-amplify' and 'aws-amplify-react-native' libraries into your application // Configure Auth category with your Amazon Cognito credentials Amplify.configure({ Auth: { identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX', // Amazon Cognito Identity Pool ID region: 'XX-XXXX-X', // Amazon Cognito Region } }); // The withAuthenticator component adds Sign Up and Sign In capabilities to your app export default withAuthenticator(class App extends React.Component { // ... your main component }); -
Web 应用程序
-
加入用户并使用软件开发工具包和几行代码重新获取令牌。
// Add 'aws-amplify' library into your application // Configure Auth category with your Amazon Cognito credentials Amplify.configure({ Auth: { identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX', // Amazon Cognito Identity Pool ID region: 'XX-XXXX-X', // Amazon Cognito Region } }); // Call Auth.signIn with user credentials Auth.signIn(username, password) .then(user => console.log(user)) .catch(err => console.log(err));
受到开发人员的信赖
仅按实际使用量付费。无最低消费要求。
如果您使用 Amazon Cognito Identity 创建一个用户池,则只需按每月活跃用户 (MAU) 付费。如果在某个日历月内,某用户有任何与身份相关的操作(如注册、登录、令牌刷新或密码更改),该用户即被计为 1 个 MAU。您无需为后续会话或该日历月内的不活跃用户付费。
| 定价套餐 (MAU) | 每 MAU 价格 |
| 第一个 50000 | 免费 |
| 下一个 50000 | 0.00550 USD |
| 下一个 900000 | 0.00460 USD |
| 下一个 9000000 | 0.00325 USD |
| 超过 10000000 | 0.00250 USD |
对于通过 SAML 或 OIDC 联合登录的用户,超出 50 MAU 免费套餐的 MAU 的价格为每 MAU 0.015 USD。 使用联合身份验证功能获取已验证身份的用户或访客用户的 AWS 凭证将始终可免费使用 Amazon Cognito。在此处阅读有关我们的定价的更多信息。