<p>At the risk of this question being closed for being too vague, maybe you need a starting point?</p>
<p>If you want to try your hand at writing a plugin, the first thing I would do is read up on the OAUTH protocol since that's what these services typically use to authenticate. For example, you probably want to handle this server-side so <a href="https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow" rel="nofollow noreferrer">Facebook has some examples</a> on how to do that.</p>
<p>Once you get a handle on that, you'd want to figure out how <a href="https://www.yiiframework.com/doc/guide/2.0/en/security-authentication" rel="nofollow noreferrer">Craft/Yii handle authentication</a> so you can hook into it, basically &quot;bypassing&quot; the built-in auth system if a user wants to login via a 3rd party provider.</p>
<p>There's way more too it than that and this is probably one of those use cases that sounds simple in theory but rolling your own auth solution definitely is probably not worth your time.</p>
<p>However it can be nice to know how these things work under the hood. (I personally don't want to be responsible for making sure it doesn't break when newer versions of Craft are released or when Facebook/Google/Apple decides to change it up.)</p>
<p>In that case, you can study the code of either <a href="https://plugins.craftcms.com/enupal-socializer" rel="nofollow noreferrer">Socializer</a> or <a href="https://plugins.craftcms.com/social" rel="nofollow noreferrer">Social</a> to see how they work. I would also recommend <a href="https://craftquest.io" rel="nofollow noreferrer">CraftQuest</a> as a resource to learn more about Craft CMS dev.</p>

CC BY-SA 4.0
2021-12-06T07:18:06.203Z
You gave me the starting point, Thank you.
I'm aware of the disadvantages of creating my own plugin, but I have no choice else but to go with it for learning purposes
Ra3d K
CC BY-SA 4.0
2021-12-05T20:47:48.947Z
2021-12-05T20:53:06.157Z
2021-12-05T20:53:06.157Z
RitterKnight
<p>I'm trying to let users sign in/up using different social account providers like ( Google, Facebook, Apple).</p>
<p>How can I manage to do that without using the (social plugin)?</p>
<p>Are there any tutorials(Module, Plugin..) to achieve such things?</p>
<p>The sign-in/up forms are ready and it looks like this :</p>
<p><a href="https://i.sstatic.net/z4AS0.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/z4AS0.png" alt="enter image description here" /></a></p>

CC BY-SA 4.0
2021-12-05T20:32:57.150Z
Is there a reason you don't want to use an already established plugin? What have you tried so far?
RitterKnight
CC BY-SA 4.0
2021-12-06T07:25:01.277Z
That's because I'm still learning Craft and can't afford it right now, so I'll go with the hard way solution.
Ra3d K
<login><frontend><authentication>
How to Sign In/Up using social accounts ( Google, Facebook, Apple)?
# How to Sign In/Up using social accounts ( Google, Facebook, Apple)?

(Asked by: username_0 on 2021-12-05)

I'm trying to let users sign in/up using different social account providers like ( Google, Facebook, Apple).

How can I manage to do that without using the (social plugin)?

Are there any tutorials(Module, Plugin..) to achieve such things?

The sign-in/up forms are ready and it looks like this :

[![enter image description here](https://i.sstatic.net/z4AS0.png)](https://i.sstatic.net/z4AS0.png)

**Tags:** login, frontend, authentication

> **Comments:**
> **username_1**: Is there a reason you don't want to use an already established plugin? What have you tried so far?  
> **username_0**: That's because I'm still learning Craft and can't afford it right now, so I'll go with the hard way solution.  

---

## 1 answers

### Answer by username_1 on 2021-12-05. Score: 2 | Accepted answer

At the risk of this question being closed for being too vague, maybe you need a starting point?

If you want to try your hand at writing a plugin, the first thing I would do is read up on the OAUTH protocol since that's what these services typically use to authenticate. For example, you probably want to handle this server-side so [Facebook has some examples](https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow) on how to do that.

Once you get a handle on that, you'd want to figure out how [Craft/Yii handle authentication](https://www.yiiframework.com/doc/guide/2.0/en/security-authentication) so you can hook into it, basically "bypassing" the built-in auth system if a user wants to login via a 3rd party provider.

There's way more too it than that and this is probably one of those use cases that sounds simple in theory but rolling your own auth solution definitely is probably not worth your time.

However it can be nice to know how these things work under the hood. (I personally don't want to be responsible for making sure it doesn't break when newer versions of Craft are released or when Facebook/Google/Apple decides to change it up.)

In that case, you can study the code of either [Socializer](https://plugins.craftcms.com/enupal-socializer) or [Social](https://plugins.craftcms.com/social) to see how they work. I would also recommend [CraftQuest](https://craftquest.io) as a resource to learn more about Craft CMS dev.

> **Comments:**
> **username_0**: You gave me the starting point, Thank you. I'm aware of the disadvantages of creating my own plugin, but I have no choice else but to go with it for learning purposes  

---

