-
Notifications
You must be signed in to change notification settings - Fork 334
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
Google+ shutdown impacts #251
Comments
Definitely a breaking change on my site... I hope it's as simple as just updating Microsoft.Owin.Security.Google NuGet pkg. |
Yup this will break our stuff. I tried changing the endpoints to the endpoints given back by the well-known configuration: The current code works until it tries to retrieve the userinfo. For users like us, we do not really need to poke the userinfo endpoint, the id_token already contains information about the user. I guess in some cases it may be easier to poke the user endpoint than to actually verify the id_token. Anyway, I hope there is an answer soon from the owners of the project, Google has threaten to start failing requests as early as January 28,2019. |
Hi @Tratcher Could you please comment this issue? Is there any possibility to fix it thru the Microsoft.Owin.Security.Google NuGet package? Thanks in advance! |
Perhaps a couple of small changes could solve the issue. In Microsoft.Owin.Security.Google.Constants
In Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticatedContext
I tried the new code. The "id" and the other fields are filled with the same values. It seems backward compatible. The ClaimsIdentitity is filled with the same values. |
Here's a temporary workaround. I tested it with 4.0 but it should also work with 3.1.
[Edit: Updated with a different endpoint] We'll see about getting a real fix into 4.0.1. |
I think someone should try to figure out what the differences are (if any) in the data returned by using their openid connect endpoint versus their Me API. They might be the same under the hood or they might not. |
They're not, the workaround above accounts for the difference. |
I guess my real point was that if we were using a Me API from G+ before, I don't understand why we'd switch to an Open ID Connect API instead of using their other Me API that's outside of G+. Assuming the only reason for making the change is that one was deprecated, taking on any additional risk by switching paradigms seems unnecessary. I'm not opposed to it, I just don't understand the motivation. |
For info: the two, not deprecated Google UserInfo APIs, return very similar json.
|
I can confirm this worked on my .Net 4.5.2 project. I updated the Microsoft.Owin.Security.Google to 4.0.0 first. I disabled the Google+ API in the Google API Console (https://console.developers.google.com/apis) and I was able to log in using this updated code, and retrieve the properties of the logged in user. |
Good day, @Tratcher I was just wondering if it's possible for you to give a tentative date of when this will be officially fixed. Much appreciated |
@ThoughtHopper we don't have a specific date yet. The fix here is easy enough, but releasing 4.0.1 requires updating a lot of infrastructure that's gotten out of date. You can track our progress at https://github.com/aspnet/AspNetKatana/milestone/8 |
Fixed by #253. I ended up using an OAuth2 specific endpoint and I updated the mitigation above to match. |
@Tratcher , I disabled the google+ api as instructed and used the temporary workaround. Not working, is there another api on the google side i have to enable? I'm definitely missing something. Edit: Actually as usual, a mistake on my end. Your workaround works, thank you sir! |
@Tratcher I actually did the same thing you did as a prototype in my own project -- can confirm that updating the user/auth/token URLs & addressing the slightly changed JSON is sufficient for migrating. Many thanks! |
FYI The 4.0.1 release has been published. |
I have updated my ASP.NET MVC projects for the 4.0.1 version without any issue. |
Currently, we have 4.0.0, and will update to 4.0.1. Is there an easy way to prove the upgrade will work after it's been totally deactivated? ie after upgrading, can I disable Google API+ and then still be able to register / login with Google credentials? |
@jbutler94127 correct, you can disable G+ now and verify your app still works. |
I tried doing the workaround in my core 1 project but new WebRequestHandler doesn't seem to be a thing. My project isn't using Microsoft.Owin but it is using Microsoft.AspNetCore.Authentication.Google v1.1 which has a recent prerelease package that might fix this. But in lieu of that, any idea what the correct handler is to pass into your workaround class other than WebRequestHandler? |
@imukai You can use HttpClientHandler instead of WebRequestHandler. Note there are no patches planned for 1.1. |
That worked. I was able to disable their G+ API. Thank you. It's been a long while since I did anything with handlers and I couldn't figure out offhand which was the correct one to use. The v1.1 of Microsoft.AspNetCore.Authentication.Google I have been using for 2 years already has a v2 and v3 (in pre-release) -- one day when I get around to upgrading the whole project from core 1 I'll update those at the same time and see what happens. |
@Tratcher There still seems to be an issue with the implementation when requesting additional scopes. See my post at googleapis/google-api-dotnet-client#1332 (comment). |
As far as I can understand, I suppose this library will be impacted by Google+ API shutdown on March, 7 2019. Like AspNetCore, Katana uses deprecated API URL, like "https://www.googleapis.com/plus/v1/people/me"
Issue opened on AspNet core: dotnet/aspnetcore#6069
The text was updated successfully, but these errors were encountered: