# Can we pass username, password and permissions as an enviornment variable at run time of docker node-red instance?

**URL:** https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775
**Category:** General
**Tags:** security, docker
**Created:** [21 March 2023 08:24 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775 "2023-03-21T08:24:54Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![prachi](https://avatars.discourse-cdn.com/v4/letter/p/7ea924/32.png) [@prachi](https://discourse.nodered.org/u/prachi)
#### Post date: [21 March 2023 08:24 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/1 "2023-03-21T08:24:54Z")

</div>

**in settings.js I added adminAuth like this:**  
adminAuth: {  
type: "credentials",  
users: [  
{  
username: process.env.USER\_NAME,  
password: process.env.PASSWORD,  
permissions: process.env.PERMISSIONS || "\*"  
}  
]  
},

**Dockerfile**  
FROM nodered/node-red:latest

COPY settings.js /data/

USER root

RUN mkdir /data/nodes

COPY ./custom-node /data/nodes

RUN chown -R node-red:node-red /data/nodes

USER node-red

RUN cd /data/nodes && npm install

USER node-red

RUN npm install --no-fund --no-update-notifier --save node-red-contrib-storage-mongodb

**Docker build**  
docker build -t custom-node-red .

**Docker Run**  
docker run -d -p 1881:1880 -e MONGO\_URL="MONGODB\_PASSWORD" `-e USER_NAME=prachi -e PASSWORD=password123 -e PERMISSIONS=*` -e APP\_NAME=r1 --name r1 custom-node-red

When I'm login the user name and password it is saying: Login Failed with  
{"error":"invalid\_grant","error\_description":"Invalid resource owner credentials"}

**Can anyone please help to know why it is not accepting the username and password at the time of login??**

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [21 March 2023 09:07 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/2 "2023-03-21T09:07:43Z")

</div>

Hi @prachi

when sharing code samples on the forum, please make the effort to format them so they show as code samples rather than plain text. You can do that using the `</>` button in the toolbar, or simply wrap your code in backticks - ```

For your actual question, the value of `password` needs to be a properly hashed password, not the plain text as described here: [Securing Node-RED : Node-RED](https://nodered.org/docs/user-guide/runtime/securing-node-red#generating-the-password-hash)

---

<div class="post-metadata">

### Author: ![prachi](https://avatars.discourse-cdn.com/v4/letter/p/7ea924/32.png) [@prachi](https://discourse.nodered.org/u/prachi)
#### Post date: [21 March 2023 10:30 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/3 "2023-03-21T10:30:54Z")

</div>

Can you please check even I passed the hashed value it still failed to login :  
`docker run -d -p 1880:1880 -e MONGO_URL="MONGODB_PASSWORD" -e USERNAME=chris -e PASSWORD="$2a$08$khD.TTAfyiJef5wJFaaa3OaSMC9iJ9Uz5Vbu5mldKzEbZSa6ClDtC" -e APP_NAME=r1 --name r1 custom-node-red`

403 FORBIDDEN with: {"error":"invalid\_grant","error\_description":"Invalid resource owner credentials"}

 ![Screenshot from 2023-03-21 15-19-39](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/c/1cd99b76e76ab6f3c12522e61d6cd623fcc04e13.png)

---

<div class="post-metadata">

### Author: ![marcus-j-davies](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marcus-j-davies/32/103435_2.png) [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)
#### Post date: [21 March 2023 10:47 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/4 "2023-03-21T10:47:19Z")

</div>

I'm not an expert at these things, but shouldn't you escape the dollar sign?

```auto
docker run -d -p 1880:1880 -e MONGO_URL="MONGODB_PASSWORD" -e USERNAME=chris -e PASSWORD="\$2a\$08\$khD.TTAfyiJef5wJFaaa3OaSMC9iJ9Uz5Vbu5mldKzEbZSa6ClDtC" -e APP_NAME=r1 --name r1 custom-node-red

```

or put the hash in single quotes:  
`-e PASSWORD='$2a$08$khD.TTAfyiJef5wJFaaa3OaSMC9iJ9Uz5Vbu5mldKzEbZSa6ClDtC'`

---

<div class="post-metadata">

### Author: ![prachi](https://avatars.discourse-cdn.com/v4/letter/p/7ea924/32.png) [@prachi](https://discourse.nodered.org/u/prachi)
#### Post date: [21 March 2023 11:00 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/5 "2023-03-21T11:00:19Z")

</div>

Thank you so much, It work with single quotes

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [4 April 2023 11:00 UTC](https://discourse.nodered.org/t/can-we-pass-username-password-and-permissions-as-an-enviornment-variable-at-run-time-of-docker-node-red-instance/76775/6 "2023-04-04T11:00:55Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
