Xfinity auth failures on some channels

Check http://x.x.x.x:8089/providers/tve/error_screenshot.png to see where the login is failing.

Claims the login/password is incorrect, but just tried rescanning a couple other channels, TBS, CSPAN, and no issue.

Does it work if you visit go.cnn.com and login there?

When you rescanned the other channels, does the log show "[TVE] action=auth"? If not, it's probably still cached from the previous login and using that without trying to login again. Comcast requires each channel to relogin every 30 days.

Logging in at CNN with xfinity credentials works. Log shows CSPAN/TBS seem to be getting authorized, Action=Authed

2019/08/14 13:03:06 [TVE] action=auth mvpd=Comcast_SSO requestor=C-SPAN
2019/08/14 13:03:06 [TVE] action=navigate url=https://sp.auth.adobe.com/adobe-services/authenticate/saml?noflash=true&mso_id=Comcast_SSO&requestor_id=C-SPAN&no_iframe=true&domain_name=adobe.com&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2019/08/14 13:03:06 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/authenticate/saml
2019/08/14 13:03:07 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/authorize
2019/08/14 13:03:07 [TVE] action=request type=Document method=GET url=https://login.xfinity.com/login
2019/08/14 13:03:07 [TVE] action=auth_domain domain=login.xfinity.com
2019/08/14 13:03:08 [TVE] action=wait_for_page
2019/08/14 13:03:12 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/authorize
2019/08/14 13:03:12 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/oauth2
2019/08/14 13:03:13 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/completePassiveAuthentication
2019/08/14 13:03:13 [TVE] action=authed
2019/08/14 13:03:13 [TVE] action=wait_for_page done=true reason=auth_finished
2019/08/14 13:03:13 [TVE] action=cookies num_domains=2 num_cookies=17
2019/08/14 13:03:25 [TVE] action=auth mvpd=Comcast_SSO requestor=TBS
2019/08/14 13:03:25 [TVE] action=navigate url=https://sp.auth.adobe.com/adobe-services/authenticate/saml?noflash=true&mso_id=Comcast_SSO&requestor_id=TBS&no_iframe=true&domain_name=adobe.com&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2019/08/14 13:03:25 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/authenticate/saml
2019/08/14 13:03:25 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/authorize
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://login.xfinity.com/login
2019/08/14 13:03:26 [TVE] action=auth_domain domain=login.xfinity.com
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://login.xfinity.com/logout
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/logout
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/sp-logout
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://login.xfinity.com/logout
2019/08/14 13:03:26 [TVE] action=request type=Document method=GET url=https://login.xfinity.com/login
2019/08/14 13:03:27 [TVE] action=wait_for_page
2019/08/14 13:03:31 [TVE] action=request type=Document method=GET url=https://oauth.xfinity.com/oauth/authorize
2019/08/14 13:03:31 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/oauth2
2019/08/14 13:03:33 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/completePassiveAuthentication
2019/08/14 13:03:33 [TVE] action=authed
2019/08/14 13:03:33 [TVE] action=wait_for_page done=true reason=auth_finished
2019/08/14 13:03:33 [TVE] action=cookies num_domains=2 num_cookies=21

I think your credentials are incorrect, atleast the ones you put into the DVR.

Those other sites are not presenting a login form due to Comcast Auto-Authentication. There's no action=fill_form so the login is happening automatically. Auto-authentication must be off for CNN, so there it tries to login and fails.

is there a way to check the saved credentials, or re-enter, or do I have to remove Xfinity TVE source and re-add?

No way to pull the creds out, nor to update them.

Let me see if I can add an endpoint to update the credentials so you don't have to rescan everything from scratch...

1 Like

Update to v2019.08.14.2046, then run in Terminal.app:

curl -XPUT --data-binary '{"pass":"NEWPASSWORD"}' http://127.0.0.1:8089/providers/tve/mvpds/Comcast_SSO/credentials

1 Like

I ran that, no visible output. Went back and scanned CNN again and still get the Auth timeout. Should I have been prompted somewhere to renter my credentials?

No, the password goes in the command where it says NEWPASSWORD

Sorry, missed that the first time. Re-ran with correct password inserted. Still failed, restarted DVR, but no luck.

I haven't changed my password recently, so that seemed unusual. The one thing I noticed when trying to login on cnn.go.co was it didn't accept my email as login, only the username. So perhaps cnn login requires username only, whereas other TVE accepts email/password.

Oh, well if it failed on go.cnn.com then it is going to fail the exactly the same way from the DVR.

You can update your username with the same command:

curl -XPUT --data-binary '{"user":"NEWUSERNAME"}' http://127.0.0.1:8089/providers/tve/mvpds/Comcast_SSO/credentials

2 Likes

Getting closer, appreciate the help. I mistyped my username after cutting and pasting... But subsequent attempts to run the command just hang. Do I have to undo something to re-run the Curl command? I tried restarting DVR and restarting the computer, no luck.

If the command hangs you have entered it incorrectly. Probably an unbalanced quote.

Finally got it sorted, having been testing since initial beta launch, I had missed the notes on TVE for Xfinity saying if you use an email address some channels may not work, hence why I hadn't noticed it until now. Interesting thing is for the channels that had been working, they must have used a login method that ignored 2FA. Once I got the username updated in Channels, CNN still failed due to needing 2FA turned off. So I created the sub account, used your command to change the user/pass again, and now all are up and running.
Thanks again for the help yesterday, I know I took up an unfair amount of your time, but you and the other developers are what makes Channels so awesome.

1 Like

No worries. I actually added that message after you ran into the issue a few days ago. So this has been a good learning experience on the caveats around Xfinity and hopefully will save other users headaches in the future.

2 Likes

Doesn't work for me using curl for windows.

>curl -v -XPUT --data-binary '{"user":"newusername"}' http://192.168.1.3:8089/providers/tve/mvpds/Comcast_SSO/credentials
*   Trying 192.168.1.3:8089...
* TCP_NODELAY set
* Connected to 192.168.1.3 (192.168.1.3) port 8089 (#0)
> PUT /providers/tve/mvpds/Comcast_SSO/credentials HTTP/1.1
> Host: 192.168.1.3:8089
> User-Agent: curl/7.65.3
> Accept: */*
> Content-Length: 20
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 20 out of 20 bytes
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Cache-Control: no-cache, no-store
< Date: Fri, 16 Aug 2019 23:36:28 GMT
< Content-Length: 66
< Content-Type: text/plain; charset=utf-8
<
{"error":"invalid character '\\'' looking for beginning of value"}* Connection #0 to host 192.168.1.3 left intact

Windows has crazy quoting rules, which differ between powershell and command prompt. You would have to use double quotes around the json, and then escape all the quotes inside with \"

1 Like

Thanks, that fixed it.

1 Like

Xfinity required me to change my password on my sub account. I did so and I used the terminal command to change the password on the DVR but I still can't get some of my TVE channels. The log reveals chrome auth_timed_out. I went to espn.com and used the newly created password and it works on the site but not in the DVR.