Posts

Showing posts from August, 2018

Firebase Storage Make only Selected Basket (Folder) Public

Image
 One of the big issue I face with google cloud storage is when I go to build a site which has public as well as private sections. Defult rule  as follows make the whole basket open to read which is not necessary.  match /{allPaths=**} {       allow read;       allow write: if request.auth != null;     } If you make a basket (generated)  base rule and try to access the file without token like below , it will gives permission issue . https://firebasestorage.googleapis.com/v0/b/<project id>.appspot.com/o/generated%test_400*400.png?alt=media&token= {   "error": {     "code": 403,     "message": "Permission denied. Could not perform this operation"   } } The issue have to resolve in google cloud storate admin by giving access to perticular basket. Ref : https://cloud.google.com/storage/docs/access-control/making-data-public#obje...

Firebase Storage ApiError: Forbidden #299 ... ApiError: Forbidden at new util

Image
When, I want to utise firebstore for the frist time in the google cloud functions,  the main problem I had to face it the integration issue raise as follows.  The google firebase and the google cloud storage eveloved seperately and in order to use the clould storage in firebase functions, the special autherntication need to be grantted even you are using firebase admin sdk. ApiError: Forbidden at new util.ApiError (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/src/util.js:107:10) at Object.parseHttpRespMessage (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/src/util.js:149:33) I implemeted the firebase admin sdk as follows. const firebaseAdmin = require("firebase-admin"); firebaseAdmin.initializeApp(functions.config().firebase); And firebase cloud bucket implemented  as follows . const storageRoot = firebaseAdmin.storage().bucket() Google document also indicate authentication...

Homebrew Install Mysql and Connect to Workbentch

Install MySql in MacOS Seirra can be done as follows. brew install mysql brew services start mysql mysqladmin -u root password 'newpassword' Login ; mysql -u root -p  Get Config Location : mysql --help | grep cnf Config Path :  export MYSQL_PATH=/usr/local/Cellar/mysql/8.0.12  PATH=$MYSQL_PATH/bin:$PATH Connect Squrel if you filed to collect  with mysql as follows :   MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found https://stackoverflow.com/questions/51179516/sequel-pro-and-mysql-connection-failed Go to my.cnf file and in section   [mysqld]   add line: default-authentication-plugin=mysql_native_password . Then, login to mysql server from terminal and run   mysql -u root -p , then inside shell execute this command:   ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; ex...