firebase / firebase/firebase-cpp-sdk
[FR]: Reuse GameCenterAuthProvider implementation on macOS
- Ngôn ngữ chính
- C++
- Star
- 326
- Fork
- 137
- Merge trung bình
- 3 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 5
Mô tả
### Feature proposal
* Firebase Component: Auth
[GameKit](https://developer.apple.com/documentation/gamekit?language=objc) is supported by Apple on both iOS and macOS and its [Game Center authentication API](https://developer.apple.com/documentation/gamekit/authenticating_a_player?language=objc) is 99% reusable between OSes, with the only exception being `UIViewController` vs `NSViewController` parameter in [`GKLocalPlayer:setAuthenticateHandler`](https://developer.apple.com/documentation/gamekit/gklocalplayer/1515399-authenticatehandler?language=objc). If you guys massage your iOS implementation of `GameCenterAuthProvider` to also work on macOS, which from my experience should be pretty straightforward, then we will be able to use `GameCenterAuthProvider::GetCredential` to exchange it for a Firebase credential and thus have a unified user support across entire apple eco-system. This is particularly interesting to developers offering [universal purchase](https://developer.apple.com/support/universal-purchase/) because Game Center user IDs are shared between iOS and macOS thus enabling us to recognize the same user in Firebase across those operating systems.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách xác định implementation iOS của GameCenterAuthProvider và entry point GetCredential của nó; so sánh callback UIViewController của setAuthenticateHandler với dạng NSViewController trên macOS. Hoàn tất khi provider có thể trao đổi việc xác thực macOS Game Center để lấy Firebase credential và hỗ trợ user flow dùng chung.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp, objective-c
- Lĩnh vực
- authentication, desktop-dev, mobile-dev
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100