-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Add native sign in with Apple function template #10286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughA new function template for "Sign in with Apple" has been added to the function templates array in the configuration. This entry includes metadata such as icon, id, name, score, tagline, permissions, events, cron, timeout, use cases, runtimes, documentation link, version control information, and required variables. The runtime specified is Dart, with setup commands and an entrypoint. Four required variables related to Apple Developer credentials are defined, including one password-type variable. Additionally, the scopes for the existing "payments-with-lemon-squeezy" template have been expanded to include multiple database, collection, attribute, and document permissions. No existing templates or logic were removed; the update is purely additive. Estimated code review effort🎯 2 (Simple) | ⏱️ ~7 minutes Note 🔌 MCP (Model Context Protocol) integration is now available in Early Access!Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context. 📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (19)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Security Scan Results for PRDocker Image Scan Results
Source Code Scan Results🎉 No vulnerabilities found! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
app/config/templates/function.php (2)
2108-2122
: Use non-secret input types for non-sensitive Apple variablesBUNDLE_ID, TEAM_ID, and KEY_ID aren’t secrets. Using text improves UX and matches conventions used elsewhere.
[ 'name' => 'BUNDLE_ID', 'description' => 'Bundle ID of the app. <a class="u-bold" target="_blank" href="https://developer.apple.com/documentation/xcode/preparing-your-app-for-distribution/#Set-the-bundle-ID">Learn more</a>.', 'value' => '', 'placeholder' => 'com.companyname.appname', 'required' => true, - 'type' => 'password' + 'type' => 'text' ], [ 'name' => 'TEAM_ID', 'description' => 'Team ID of the Apple Developer account.', 'value' => '', 'placeholder' => '6K3...5PH', 'required' => true, - 'type' => 'password' + 'type' => 'text' ], [ 'name' => 'KEY_ID', 'description' => 'Key ID required to communicate with Apple Developer services. <a class="u-bold" target="_blank" href="https://developer.apple.com/help/account/keys/get-a-key-identifier/">Learn more</a>.', 'value' => '', 'placeholder' => '9G8...6YF', 'required' => true, - 'type' => 'password' + 'type' => 'text' ],Also applies to: 2124-2130
2132-2134
: Fix wording and provider name in KEY_CONTENTS_ENCODED descriptionMinor but important clarity: grammar and “Apple” vs “Appwrite”.
- 'description' => 'Contents of Key required to communicated with Appwrite Developer services, encoded in Base64. <a class="u-bold" target="_blank" href="https://developer.apple.com/help/account/keys/revoke-edit-and-download-keys">Learn more</a>.', + 'description' => 'Contents of the private key required to communicate with Apple Developer services, encoded in Base64. <a class="u-bold" target="_blank" href="https://developer.apple.com/help/account/keys/revoke-edit-and-download-keys">Learn more</a>.',
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
app/config/templates/function.php
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Setup & Build Appwrite Image
- GitHub Check: Setup & Build Appwrite Image
- GitHub Check: scan
🔇 Additional comments (2)
app/config/templates/function.php (2)
2083-2106
: Apple template metadata and runtimes look consistentIcon, id, name, tagline, runtimes (Dart), provider info, and instructions are consistent with existing templates.
2140-2140
: Consider adding sessions.write to scopes if this function creates sessionsIf the function creates Appwrite sessions (typical for sign-in flows), sessions.write is required. Please confirm.
- 'scopes' => ['users.read', 'users.write'] + 'scopes' => ['users.read', 'users.write', 'sessions.write']If sessions are not created server-side, feel free to ignore.
✨ Benchmark results
⚡ Benchmark Comparison
|
Addressed in commit 7929684 |
What does this PR do?
Add native sign in with Apple function to list of function templates
Test Plan
Locally setup console and test
Related PRs and Issues
Checklist