From a79926f24be60a7d138807eb49e94dea85f08ef8 Mon Sep 17 00:00:00 2001
From: Jason Hu
Date: Mon, 10 Sep 2018 03:14:18 -0700
Subject: [PATCH] Add troubleshooting for invalid client id error (#6244)
* Add troubleshooting for invalid client id error
* Update authentication.markdown
* Add a note to remote document
* :pencil2: Spelling and grammar tweaks
---
source/_docs/authentication.markdown | 18 ++++++++++++++++++
source/_docs/configuration/remote.markdown | 4 ++++
.../error-invalid-client-id.png | Bin 0 -> 15590 bytes
3 files changed, 22 insertions(+)
create mode 100644 source/images/docs/authentication/error-invalid-client-id.png
diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown
index 6838a31a622..1d55d6b38f3 100644
--- a/source/_docs/authentication.markdown
+++ b/source/_docs/authentication.markdown
@@ -50,6 +50,24 @@ While you should hopefully be storing your passwords in a password manager, if y
When you start Home Assistant next you'll be required to set up authentication again.
+### {% linkable_title Error: invalid client id or redirect url%}
+
+
+
+You have to use a domain name, not IP address to remote access Home Assistant; otherwise you will get **Error: invalid client id or redirect url** error on the login form. However, you can use the IP address to access Home Assistant in your home network.
+
+It because we only allow using IP address as client ID when your IP address is one of internal network address (e.g., 192.168.0.1) or loopback address (e.g., 127.0.0.1).
+
+If you don't have a valid domain name for your Home Assistant instance, you can modify the `hosts` file on your computer to fake one. For example, if you are on Windows, edit `C:\Windows\System32\Drivers\etc\hosts` file with administrator privilege, add following entry.
+
+```text
+12.34.56.78 hassbian.home
+```
+
+(Please replace `12.34.56.78` with your Home Assistant's public IP address)
+
+It will allow you to open Home Assistant instance by access `http://hassbian.home:8123/`
+
### {% linkable_title Stuck on Loading data %}
Some advert blocking software, such as Wipr, also blocks web sockets. If you're stuck on the Loading data screen, try disabling your ad blocker.
diff --git a/source/_docs/configuration/remote.markdown b/source/_docs/configuration/remote.markdown
index f0d981b116e..00f9e276b35 100644
--- a/source/_docs/configuration/remote.markdown
+++ b/source/_docs/configuration/remote.markdown
@@ -15,6 +15,10 @@ If you're interested in logging in to Home Assistant while away, you'll have to
Remember to follow the [securing checklist](/docs/configuration/securing/) before doing this.
+
+Home Assistant no longer support remote access via IP address since release 0.77, you have to use domain name.
+
+
The most common approach is to set up port forwarding (for any port) from your router to port 8123 on the computer that is hosting Home Assistant. General instructions on how to do this can be found by searching ` port forwarding instructions`. You can use any free port on your router and forward that to port 8123.
A problem with making a port accessible is that some Internet Service Providers only offer dynamic IPs. This can cause you to lose access to Home Assistant while away. You can solve this by using a free Dynamic DNS service like [DuckDNS](https://www.duckdns.org/).
diff --git a/source/images/docs/authentication/error-invalid-client-id.png b/source/images/docs/authentication/error-invalid-client-id.png
new file mode 100644
index 0000000000000000000000000000000000000000..9f543b92395385ea08cdcf087bc3ff5f7246c1fb
GIT binary patch
literal 15590
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
literal 0
HcmV?d00001