-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
New global Medtronic authentication server #2909
New global Medtronic authentication server #2909
Conversation
Thanks a lot |
This is just an idea/question. Please wait for JamOrHam. Please don't do anything based on the following. |
@Navid200 yes, I have tested it with a few different account types. The central auth server hasn't changed for a long time, I don't think this is something that will change again in the next few years. But if it does, the path or even the entire login protocol may change also, not just the server, just like it happend about 3-4 years ago. Anyway, I will wait for your analysis and decision. |
Following |
Dear All, I'm trying to understand the situation. If medtronic changed the server configuration, and you guys were able to identify this, (thanks God you are talented and you are able to help to others), when can we expect a new version of xdrip? How does it work? Is it a very big job to change the program codes and compile again the source code? Thanks. |
Some differences are not so big, and theoretically code change is easy, but the most hard is to predicts consequences such changes for other part of software, for all users, so each code change should having been thought about carefully |
The initial connection request where you send the country you are from, its response always contained the address of the authentication server but many applications just hardcoded it (as I incorrectly did), if you use the information returned in ResponseMsg the code will work again. It does require assembling several parts. |
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.
Host should not be hard coded it comes from loginSessionResponse.RequestMessage.RequestUri.Authority plus other components to build out the fill URI.
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.
@paul1956 yes, thanks. I was thinking about modifying that part of the code, but my time is very limited currently so I just did a quick correction.
Actually the entire CareLink client should be refactored, there are some weak points and dirty solutions, but I don't have time for that now.
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.
For the most part they are all derived from some less the elegant code, I have been cleaning mine up over the past few months trying unsuccessfully to get 2 Factor Authentication working. But I did fix this get remove the quotes string and use the data in message response it's still just 1 line.
You are awesome guys. Thanks a lot. It is working again. |
and what should we do now? A new version of xdrio apk was created? Where can I found it? I'm sorry, but I'm new with github... |
Will the new version be uploaded tonight? |
For some reason its not showing in the releases section or on automatic update yet but you can download the latest version here: |
How dit you do it? |
Just download and install the newly created apk jamorham just posted. |
Still getting the same error. |
Were there any specific steps that you had to go through to get it to work? |
It works!! @jamorham: Thanx for the link to the new apk-file! |
I downloaded a new build from the link, installed it on Samsung a71. just UPDATED the latest STABLE version. the data is coming in. perhaps those who do not work need to uninstall the application and install it again? these are just guesses. |
Big thanks to you @jamorham, @benceszasz , @Navid200 , @paul1956 . Great job. |
I think it depends on what county/server the person is in/on. The US server I use to connect to CareLink didn't change and if I try the new URL I can't log in. |
Dear All, thanks for the APK. The new version of xDrip is installed, it can no w login, but if I configure the xdrip to save data to cloud, and I enable the nightscout sync, in the log of the uploaders, I got this error message: Unable to do REST API Upload: Not Found marking record: failed Any idea? |
@gteremi That is not related to this PR. Edit: |
Thanks. |
Unfortunately it seems that the different auth server is only used for the EU and not for the US (at least for now). The new EU auth server was previously used only for China, but currently US still uses the old auth server. It seems that at the end the base logic of the auth server login request needs to be changed and the url needs to be taken over from the regional CareLink Personal login page's redirection. |
At the moment it's still not in the update section, but installing directly from this link worked for me. Thank you! |
@wtt604 Are on the Nightly branch? If you are, you should see it. I have explained how xDrip update works here: |
@wtt604 I have explained everything in detail about xDrip update on the page I linked. |
The working logic for all countries and is future proof is below in Visual Basic but all you really need is the 3rd line
Or in 1 line
There is other information in loginSessionResponse.RequestMessage.RequestUri that might make the code shorter or even more robust but it would involve change more code in this file and might need to escape some fields. There could also be a fall back added to the old server but instead in my usage I detect flaky servers and report them as such. |
@benceszasz thanks, you did a better job then I did I am stealing your implementation. Thanks. Any chance anyone is going to post an explanation of what happened. Medtronic is taking all the heat and phone calls and they really had nothing to do with it. |
@paul1956 it is not stealing, xdrip is GPLv3 :) and there is a good reason why I also wrote and published my xdrip CareLink client solution as an independent java library at the beginning of 2021 also under GPLv3 :) |
@benceszasz sorry it was mean as a complement. I publish a complete free Windows CareLink data deep dive program on my GitHub account Paul1956 if you want to see everything the pumps really has tables or graphs. You can also export most tables to Excel. There are ~20 tabs of data updated every 1-5 minutes. I did it to understand AIT at first. |
@paul1956 I understood and thanks. I was just joking and correcting the word of "stealing", since in this community everyone is working together and share their knowledge and solutions. It is free, so you can't "steal" it :) |
@paul1956 and also I mentioned my independent java library, because my intention was to make my codes easier to reuse for anyone. But maybe my wording wasn't clear enough, sorry about that, wording in English and proper joking are not one of my strengths. |
Hi, |
@Sellyn please provide a screenshot of the xdrip system status page (xdrip > menu > system status) and a screenshot of the xdrip Error and Event list (xdrip > three dots menu > Error and Event list). |
@benceszasz here is a screenshot of the Error list |
@Sellyn please provide a screenshot of the xdrip system status page (xdrip > menu > system status). |
@benceszasz: here is my System Status with Version |
@benceszasz Now it works. I've changed the password to only 12 chars without special chars, just letters and numbers. Maybe Medtronic can't handle it |
@Sellyn great! |
Medtronic global authentication server was changed.