{"id":206843,"date":"2024-10-06T16:31:47","date_gmt":"2024-10-06T16:31:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sign-in-with-essentials\/"},"modified":"2025-04-05T12:11:12","modified_gmt":"2025-04-05T12:11:12","slug":"sign-in-with-essentials","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/sign-in-with-essentials\/","author":16798765,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.41","stable_tag":"trunk","tested":"6.7.5","requires":"6.0","requires_php":"7.0","requires_plugins":null,"header_name":"Sign In With Socials (Google, Apple, Microsoft)","header_author":"Puvox Software","header_description":"Adds a \"Sign in with Google\" button to the login page, and allows users to sign up and login using Google.","assets_banners_color":"51595b","last_updated":"2025-04-05 12:11:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.github.com\/puvox\/sign-in-with-essentials","header_author_uri":"https:\/\/puvox.software","rating":5,"author_block_rating":0,"active_installs":60,"downloads":1784,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"ttodua","date":"2024-11-11 06:33:29"},"1.4.1":{"tag":"1.4.1","author":"ttodua","date":"2024-11-25 17:51:17"},"1.4.2":{"tag":"1.4.2","author":"ttodua","date":"2024-11-25 17:54:31"},"1.4.3":{"tag":"1.4.3","author":"ttodua","date":"2024-11-25 18:32:24"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3170346,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3170347,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3170352,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3170351,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3170350,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0","1.4.1","1.4.2","1.4.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3176944,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3170349,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"The login form with the \"Sign in with\" button added.","2":"This is the second screen shot"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1134,150,602,3883,2059],"plugin_category":[38],"plugin_contributors":[166907,179542],"plugin_business_model":[],"class_list":["post-206843","plugin","type-plugin","status-publish","hentry","plugin_tags-apple","plugin_tags-google","plugin_tags-login","plugin_tags-microsoft","plugin_tags-register","plugin_category-authentication","plugin_contributors-puvoxsoftware","plugin_contributors-ttodua","plugin_committers-puvoxsoftware","plugin_committers-ttodua"],"banners":{"banner":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/banner-772x250.png?rev=3170350","banner_2x":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/banner-1544x500.png?rev=3170351","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/icon.svg?rev=3170352","icon":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/icon.svg?rev=3170352","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/screenshot-1.png?rev=3176944","caption":"The login form with the \"Sign in with\" button added."},{"src":"https:\/\/ps.w.org\/sign-in-with-essentials\/assets\/screenshot-2.png?rev=3170349","caption":"This is the second screen shot"}],"raw_content":"<!--section=description-->\n<p>Allow users to login with Google\/Microsoft\/Apple accounts. Lightweight, no bloatware packages included.\nUseful for sites that need a quick way for their users to sign-in.<\/p>\n\n<h4>Available Options<\/h4>\n\n<p>See all available options and their description on plugin's settings page. Here are some of them:\n* Show\/Hide the \"Sign In with\" button on the login form\n* If a user is not already registered, during sign-in an account can be created for that email address (aliases are not allowed by default)\n* If a user is already logged in to target social provider, they will be automatically redirected without much fuss\n* Restrict users to be coming from only specific domain(s)\n* Connect existing user accounts.\n* WP-CLI available! See <code>\/src\/includes\/class-wp-cli.php<\/code> header for supported list.\n* One redirect-back link <code>https:\/\/YOURDOMAIN.TLD\/_AUTH_RESPONSE_SIWE_<\/code> for all providers.<\/p>\n\n<h4>Programmatic access<\/h4>\n\n<p>Public functions:\n* <code>siwe_authenticate_user($code, $state, $error = null)<\/code>\n* <code>siwe_get_auth_url()<\/code>\n* <code>siwe_get_buttons()<\/code><\/p>\n\n<p>Hooks:\n* dozens of hooks, look into any source file to find out specific part<\/p>\n\n<!--section=installation-->\n<p>A) Enter your website \"Admin Dashboard &gt; Plugins &gt; Add New\" and enter the plugin name\nor\nB) Download plugin from WordPress.org, Extract the zip file and upload the container folder to \"wp-content\/plugins\/\"<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='where%20can%20i%20get%20a%20client%20id%20%26%20secret%20for%20google%3F'><h3>Where can I get a Client ID &amp; Secret for Google?<\/h3><\/dt>\n<dd><p>You will need to sign in to the <a href=\"https:\/\/console.developers.google.com\">Google Developer Console<\/a><\/p>\n\n<ol>\n<li>Go to the API Console.<\/li>\n<li>From the projects list, select a project or create a new one.<\/li>\n<li>If the APIs &amp; services page isn't already open, open the console left side menu and select APIs &amp; services.<\/li>\n<li>On the left, click Credentials &gt; New &gt; OAuth client ID.<\/li>\n<\/ol><\/dd>\n<dt id='where%20can%20i%20get%20a%20client%20id%20%26%20secret%20for%20microsoft%20%3F'><h3>Where can I get a Client ID &amp; Secret for Microsoft ?<\/h3><\/dt>\n<dd><p>These resources would help:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/portal.azure.com\/#view\/Microsoft_AAD_RegisteredApps\/ApplicationsListBlade\">Azure Portal<\/a><\/li>\n<li>Publisher verification: <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/publisher-verification-overview\">overview<\/a> and <a href=\"https:\/\/partner.microsoft.com\/dashboard\/v2\/account-settings\/account-management\/home\">partner portal<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/advertising\/guides\/authentication-oauth-register\">authentication-oauth-register<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/answers\/questions\/799042\/adding-mfa-to-administrator-accounts-with-the-free\">faq - 2fa<\/a><\/li>\n<\/ul><\/dd>\n<dt id='where%20can%20i%20get%20a%20client%20id%20%26%20secret%20for%20apple%20%3F'><h3>Where can I get a Client ID &amp; Secret for Apple ?<\/h3><\/dt>\n<dd><p>These resources would help:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/developer.apple.com\/\">Developer Center<\/a><\/li>\n<li><a href=\"https:\/\/developer.apple.com\/help\/account\/configure-app-capabilities\/create-a-sign-in-with-apple-private-key\">How to generate keys<\/a><\/li>\n<li><a href=\"https:\/\/developer.apple.com\/account\/#\/membership\/\">team id<\/a> &amp;&amp; <a href=\"https:\/\/developer.apple.com\/account\/resources\/authkeys\/list\">key id<\/a><\/li>\n<li>Youtube videos: <a href=\"https:\/\/www.youtube.com\/watch?v=UafqYgRoIC0\">1<\/a> or <a href=\"https:\/\/www.youtube.com\/watch?v=Deyt6dJAjbE\">2<\/a> or <a href=\"https:\/\/nextendweb.com\/nextend-social-login-docs\/provider-apple\/\">3<\/a> or <a href=\"https:\/\/plugins.miniorange.com\/login-with-apple-using-wordpress-social-login\">4<\/a><\/li>\n<\/ul><\/dd>\n<dt id='%5Bapple%20only%5D%20workaround%20for%20localhost'><h3>[Apple only] workaround for localhost<\/h3><\/dt>\n<dd><p><strong>Apple Sign In<\/strong> service does not work with <code>localhost<\/code>, <code>http<\/code> or IP-only domains, so if you develop on local host, so follow below steps:<\/p>\n\n<p><strong>STEP 1<\/strong>\ninstead of <code>localhost<\/code> you will need to invent some placeholder domain (anything except <code>example.com<\/code>) e.g. <code>site.com<\/code> and use that domain instead of <code>localhost<\/code> in Apple Redirect-Back urls. Then, to redirect <code>site.com<\/code> to your localhost, use either (A) or (B) choice:\n- (A) Use redirection extension (like <a href=\"https:\/\/github.com\/einaregilsson\/Redirector\">this<\/a> or others) in browser to redirect queries from <code>site.com<\/code> to <code>localhost<\/code>, and then jump to <strong>STEP 2<\/strong> below.\nor\n- (B) Add virtual local domain name e.g. <code>site.com<\/code> (except <code>example.com<\/code>) pointing to <code>127.0.0.1<\/code>. See the 1-3 lines about \"How to setup virtual host\": https:\/\/gist.github.com\/ttodua\/b5f54429c00dad6e052b6ccbda08dcb0#file-readme-md . However, if you are not able to change your wordpress installation domain from <code>localhost<\/code> at this moment, then use this code from <strong>STEP 2<\/strong><\/p>\n\n<p><strong>STEP 2<\/strong>\nAdd this code somewhere (eg. functions.php) to replace the redirect back url for Apple specifically:\n    add_filter('siwe_redirect_back_uri', function ($url, $provider) { return ($provider === 'apple' ? 'https:\/\/site.com\/<em>AUTH_RESPONSE_SIWE<\/em>' : $url); }, 10, 2);<\/p><\/dd>\n<dt id='notes%20about%203rd%20party%20services'><h3>Notes about 3rd party services<\/h3><\/dt>\n<dd><ul>\n<li>This plugin relies on external services, namely:<\/li>\n<li>\n<ul>\n<li><strong>Google Sign In<\/strong> service: View <a href=\"https:\/\/developers.google.com\/identity\/gsi\/web\/guides\/overview\">service description<\/a> and <a href=\"https:\/\/developers.google.com\/terms\">terms<\/a>. To revise the connected services, visit <a href=\"https:\/\/myaccount.google.com\/connections\">here<\/a>.<\/li>\n<\/ul><\/li>\n<li>\n<ul>\n<li><strong>Microsoft Identity<\/strong> services: View <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/\">service description<\/a> and <a href=\"https:\/\/learn.microsoft.com\/en-us\/legal\/termsofuse\">terms<\/a>. To revise the connected services, visit <a href=\"https:\/\/account.live.com\/consent\/Manage\">here<\/a> or <a href=\"https:\/\/account.microsoft.com\/privacy\/app-access\">here<\/a><\/li>\n<\/ul><\/li>\n<li>\n<ul>\n<li><strong>Apple Sign In<\/strong> services: View <a href=\"https:\/\/developer.apple.com\/documentation\/sign_in_with_apple\">service description<\/a>. To revise the connected services, visite <a href=\"https:\/\/account.apple.com\/account\/manage\">here<\/a><\/li>\n<\/ul><\/li>\n<li>\n<ul>\n<li>Also uses some composer vendor dependencies, which are beyong our monitoring or control.<\/li>\n<\/ul><\/li>\n<\/ul><\/dd>\n<dt id='github'><h3>Github<\/h3><\/dt>\n<dd><ul>\n<li>Active plugin development is handled on <a href=\"https:\/\/www.github.com\/puvox\/sign-in-with-essentials\">Github<\/a>. Bugs and issues will be tracked and handled there.<\/li>\n<\/ul><\/dd>\n<dt id='todo'><h3>Todo<\/h3><\/dt>\n<dd><ul>\n<li>account-id based duplicate detection<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Pushed a completely reorganized version with dozens of changes<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release (plugin based on https:\/\/github.com\/tarecord\/sign-in-with-google )<\/li>\n<\/ul>","raw_excerpt":"Adds functionality &quot;Sign in with&quot; Google\/Microsoft\/Apple (beta version)","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/206843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=206843"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/puvoxsoftware"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=206843"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=206843"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=206843"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=206843"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=206843"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=206843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}