After alot of searching and alot of trying I finnaly figuered out how to let people register and login on my site (and give them role etc and do authorization). I Inherited from the class ExtendedMembershipProvider and RoleProvider, made both for them a customclass, but now I am still having issues getting Oauth to work (mainly OpenID). I registered GoogleClient in the AuthConfig, but once I try to login and it comes to the line (In AccountController.cs):
if (OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false))
Then it says not yet implemented, now I checked extended membership and I can t override Login (since it isn t there, but where is it). I also searched google alot but no luck, any instructions for getting oauth to work with would be sweat(I think I need to make a 3th CustomOathprovider, but I am not able to find what to inherith from)!
PS: I made a custommembershiprpovder and customroleprovider because I want to use a diffrent Database scheme.
Maxim
I had to override 3 more methods in my custom memberbershipprovider
public override void CreateOrUpdateOAuthAccount(string provider, string providerUserId, string userName)
public override int GetUserIdFromOAuth(string provider, string providerUserId)
//return -1 if User got no OauthAccount
public override string GetUserNameFromId(int userId)
now it is working. (I figuered this out by overriding all methods in the membership provider, and then setting a breakpoint on each, and everywhere it went I filled in the method based on my custom Database.
This would be a comment if I had enough reputation to comment.
This is not how to make OAuth work in your scenario, but in case it helps, the source for OAuthWebSecurity.Login is at http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/5cb74eb3b2f3#src/Microsoft.Web.WebPages.OAuth/OAuthWebSecurity.cs and to see how SimpleMembership implemented OAuth you can look at http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/5cb74eb3b2f3#src/WebMatrix.WebData/SimpleMembershipProvider.cs.
Your project sounds cool, good luck.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With