Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visual Studio App CenterにmBaaS機能が増えてきた

993 views

Published on

2019/06/28(金)に開催されたShibuya.apkで登壇した資料です。
https://shibuya-apk.connpass.com/event/133727/

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Visual Studio App CenterにmBaaS機能が増えてきた

  1. 1. Visual Studio App Centerに mBaaS機能が増えてきた。 2019/6/28 Shibuya.apk #35 NTTテクノクロス 中島進也
  2. 2. Profile • 名前:なかしょ(中島 進也) • 所属:NTTテクノクロス株式会社 • Twitter:@nakasho_dev • ブログ:なかしょの技術日誌 http://nakasho-dev.hatenablog.jp/ • 最近の興味 TDD、アジャイル開発、Xamarin、Chatbot、Tizen • 主な参加コミュニティ JXUG、.NETラボ、Cogbot、Teratail、TestNight XP祭り2019実行委員 ※本資料は私個人の意見であり、所属企業・部門見解を代表するもの ではありません。 2
  3. 3. Visual Studio App Center の主な機能 3 自動ビルド・単体テスト 実機デバイスでUIテストを自動化 テスターやストアへのアプリ配布 クラッシュログの収集 使用状況の分析 ユーザ認証・ID管理 DevOps MBaaS データの管理・保持・同期 プッシュ通知 2019年5月に追加さ れた
  4. 4. 対応プラットフォーム 4 Android Java/Kotlin ReactNative Cordova(Preview) Xamarin Unity iOS Objective-C/Swift ReactNative Cordova(Preview) Xamarin Unity Windows UWP Unity macOS(Preview) Objective-C/Swift
  5. 5. なぜmBaaSのAuth機能を使うの? • 詳細なユーザ情報を持ちたくない ID、パスワードの漏洩は怖い 会員登録や変更などの画面も作りたくない そのユーザであることを一意に示すIDだけあればよい でも、必要に応じてID以外の情報も欲しい • サーバ回りの運用はしたくない • モバイルアプリの開発に集中したい 5
  6. 6. Auth : ユーザ認証・ID管理 • ユーザの認証機能を提供 • ユーザIDを利用してユーザデータを表示 • 個々のデバイスではなくユーザにプッシュ通知を送信 • Azure Active Directory B2C を利用して機能が提供される • iOS、Android、Xamarinに対応 6 参考:https://docs.microsoft.com/ja-jp/appcenter/auth/
  7. 7. Azure Active Directory B2C とは? • 企業ー消費者間のID管理サービス • ユーザがWeb,デスクトップ、モバイル、SPAと安全に対話す る方法をカスタマイズしたり制御したりできる。 • ユーザはサインアップ、サインイン、パスワードのリセット、 および、プロファイルの編集ができる。 • OpenID ConnectプロトコルとOAuth2.0プロトコルの一形式 が実装される。 • 毎月50,000回までの認証は無料 7 参考: https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/active-directory-b2c-overview
  8. 8. 対応するソーシャルIDプロバイダー •Microsoft Account •Google •Facebook •Linkedin •Amazon •Weibo (Preview) •QQ (Preview) •WeChat (Preview) •Twitter •GitHub (Preview) ーーーーーーーーー •OpenID Connect (Preview) カスタムIDプロバイダー 8 参考: https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/active-directory-b2c-overview
  9. 9. Data : データの管理・保持・同期 • クラウド上のアプリケーションデータをオフラインと同期 • ユーザIDを利用してプライベートデータを管理 • Cosmos DBを利用して機能が提供される Cosmos DB Core SQL APIを使用する • iOS、Android、Xamarinに対応 9 参考:https://docs.microsoft.com/ja-jp/appcenter/data/
  10. 10. Data : アーキテクチャ 10
  11. 11. Data : 非公開データと公開データ • 非公開 Azure AD B2Cを介し てユーザIDに関連付 けられているデータ 認証されたユーザに 読み取り/書き込み権 限を付与する • 公開 全てのユーザが読み 取り権限を持つデー タ 11
  12. 12. 12
  13. 13. 13 Azure Subscriptionの設定 Subscription 設定後 Subscription を設定
  14. 14. 14 Tenantの設定(テナント未作成) Azure AD B2Cの テナントを作成
  15. 15. 15 Tenantの設定(Azure上で作成) テナント新規作成
  16. 16. 16 TenantをSubscriptionにリンク
  17. 17. 17 Tenantの設定(テナント作成後) テナントを選択
  18. 18. 18 アプリケーション未作成 テナントのアプリ ケーションを作成 新規追加
  19. 19. 19 アプリケーション作成 https://jwt.ms を入力 msal{appSecret}://authを入力 {appSecret}はAppCenterで取 得
  20. 20. 20 appSecretの取得 App Centerのプロジェクト設定 ページでappSecretを取得
  21. 21. 21 アプリケーション作成後 テナントのアプリ ケーションを選択 Scopeの設定が必 要
  22. 22. 22 Scopeの設定 追加ボタンからAPIアクセスのス コープを追加
  23. 23. 23 Scopeの設定後 Scopeを選択 user flowの設定 が必要
  24. 24. 24 UserFlowの設定 新しいユーザーフローを追加 サインアップとサイ ンインを選択
  25. 25. 25 UserFlowを作成 B2C_1_signinSignUpで作成 プロバイダーを選択 標準はEmailのみ 多要素認証を使用するか否か サインアップ時に収集する値の 設定
  26. 26. 26 UserFlowの設定後 作成したUserFlow 名を記入
  27. 27. 27 IDプロバイダーの追加 追加したいIDプロバ イダーを選択する。 IDプロバイダーを追加したら UserFlowの更新が必要 Google認証やFacebook認証 と連携するためにはPrivacy Policyの公開ページが必要
  28. 28. 28 説明されている内容で アプリに組み込む
  29. 29. 29 build.gradleへの追加 dependencies { def appCenterSdkVersion = '2.1.0‘ implementation "com.microsoft.appcenter:appcenter-auth:${appCenterSdkVersion}" }
  30. 30. 30 AndroidManifest.xmlへの追加 <activity android:name="com.microsoft.identity.client.BrowserTabActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="auth" android:scheme="msal{Your App Secret}" /> </intent-filter> </activity>
  31. 31. 31 Auth機能の初期化 AppCenter.start( application, "{Your App Secret}", Auth::class.java )
  32. 32. 32 サインインの実装 Auth.signIn().thenAccept { signInResult -> if (signInResult.exception == null) { //サインインの成功 val accountId = signInResult.userInformation.accountId val idToken = signInResult.userInformation.idToken val accessToken = signInResult.userInformation.accessToken Log.d("MainActivity", "accountId:$accountId") } else { //サインインの失敗 val signInFailureException = signInResult.exception Log.e("MainActivity", "exception:$signInFailureException") } }
  33. 33. 33 トークンのデコード try { val idToken = signInResult.userInformation.idToken val parsedToken = JWTParser.parse(idToken) val claims = parsedToken.jwtClaimsSet.claims // 名前を取得 val displayName = claims["name"] as String // emailアドレスを取得 val emails = claims["emails"] as net.minidev.json.JSONArray if (emails != null && !emails.isEmpty()) { val firstEmail = emails[0].toString() } } catch (e: ParseException) { }
  34. 34. 34 サインアウトの実装 Auth.signOut();
  35. 35. 35 IDプロバイ ダーによるロ グイン Facebook認証時に 取得した名前を使用
  36. 36. 36
  37. 37. 37 ログインしたユーザが 使用したIDプロバイダ を含めて表示される
  38. 38. 参考:https://openapi.appcenter.ms/
  39. 39. Visual Studio App Center MBaaS Roadmap • Auth 【対応済】Connect an Azure B2C identity provider Bring your own identity provider support Enterprise AAD support End user profile dashboards with cross-service integrations • Data 【対応済】 Connect or create an Azure Cosmos database 【対応済】 User configuration and profile record store Visual data browser for stored information Collaborate on collection documents Real-time document storage updates Off-line write support • File Storage Manage app resources with Azure blob storage and CDN Upload and download user generated content • Push Tighter coupling with Azure Notification Hubs Export for installation device metadata 39 参考: https://github.com/Microsoft/appcenter/wiki/Roadmap
  40. 40. 参考: https://github.com/microsoft/appcenter-sdk-android /
  41. 41. まとめ • Visual Studio App CenterにMBaaS機能が増えてきた。 • AuthのバックエンドはAzure AD B2C • Azure AD B2Cの知識も必要 • アプリの実装はとても簡単にログインを導入できる • Firebaseにはまだ及ばないけどMSのサービスとの相性は良い 41
  42. 42. ご清聴ありがとうございました。 なかしょ(中島 進也) @nakasho_dev 42

×