ネイティブログイン
ネイティブモバイルアプリケーションでは、ネイティブまたはブラウザーベースのログインフローを使用できます。
browser-basedログインフローでは、ユーザーにWebブラウザーが表示され、サインアップまたはログイン用のAuth0ログインページにリダイレクトされます。たとえば、SafariViewController (iOS)およびChromeカスタムタブ(Android)が開きます。
nativeログインフローで、ユーザーはサインアップを行うか、資格情報をアプリに直接入力します。
選択するオプションにかかわらず、Auth0ではいずれかがサポートされます。
ブラウザーベースのログイン
ネイティブ埋め込み型ログイン
独自のログインページをネイティブ/モバイルアプリに埋め込みたい場合は、Lockログインウィジェットを次の機能を持つアプリに直接実装することができます。
埋め込み型ログイン機能を持つネイティブアプリの例
パスワードレス
ネイティブアプリケーションでの埋め込み型パスワードレスログイン
考慮事項
フィッシング/セキュリティ上の懸念事項:権限を持たない第三者がクライアントIDや認証URLを盗むために、逆コンパイルしたり、アプリケーション経由でトラフィックを傍受したりする可能性があります。不正ユーザーはこの情報を利用して、不正なアプリケーションを作成してアプリケーションストアへアップロードし、フィッシング攻撃を仕掛けてユーザー名やパスワード、アクセストークンを盗む恐れがあります。
SSO:ユーザーはアプリケーションごとに資格情報を入力しなければならない
リフレッシュトークンを共有キーチェーンに保存することで、ネイティブアプリでSSOを実装できますが、これはOAuth 2.0仕様に準拠していません。
実装に時間がかかる
Auth0が新しい機能を追加しても、自動的に改善されるわけではなく、ユニバーサルログインではなく新しい機能を活用するには、アプリコードを更新しなければならない
OAuth 2.0のベストプラクティスに準拠していない
RFC 8252 OAuth 2.0 for Native Apps:主にユーザーのブラウザーなど、外部のユーザーエージェントを介してのみ、ネイティブアプリから認可要求が行われるべきである
ネイティブのソーシャルログイン
機能をネイティブアプリに追加し、ユーザーがソーシャルIDプロバイダーとアプリケーション内でネイティブに認証することができます。
Facebookログイン:
Appleでサインイン:
レート制限
制限はネイティブのソーシャルログインフローに関わる要求にのみ適用され、これは、要求の本文に基づいて特定され、以下の基準に従います。
要求タイプ | ボディ |
---|---|
grant_type |
urn:ietf:params:oauth:grant-type:token-exchange |
subject_token_type |
http://auth0.com/oauth/token-type/apple-authz-code |
購入されたお客様の運用テナントに対する制限
エンドポイント | パス | 制限の対象 | レート制限 |
---|---|---|---|
トークン取得 | /oauth/token |
任意のネイティブソーシャルログイン要求 | 50 RPM、バースト要求は500まで |
購入されたお客様の非運用テナントおよび無料使用のお客様のすべてのテナントに対する制限
エンドポイント | パス | 制限対象 | レート制限 |
---|---|---|---|
トークン取得 | /oauth/token |
ネイティブソーシャルログイン要求とIP | 30/分 |