Angular/Node authenticate User

核能气质少年 提交于 2020-01-01 09:13:15

问题


I have a node server that is running. and it sends a post to a Twitter Timeline, which I have an Ionic/Angular Application the consumes the Node Server and sends the message.

however, the problem is that in the node server my user's Twitter account info is hard coded and I would like to know how I can send the user's details that I get from the Twitter connect Plugin.

here is my node sever

const express = require('express');
const Twitter = require('twit');

const app = express();
const client = new Twitter({
  consumer_key:         '...',
  consumer_secret:      '...',
  access_token:         '...',
  access_token_secret:  '...',
});


app.use(require('cors')());
app.use(require('body-parser').json());

app.post('/post_tweet', (req, res) => {

  tweet = req.body;

  client
    .post(`statuses/update`, tweet)
    .then(tweeting => {
      console.log(tweeting);

      res.send(tweeting);
    })

   .catch(error => {
    res.send(error);
  });


});

app.listen(3000, () => console.log('Server running'));

twitter service in my angular/ionic app

export class TwitterserviceService {
  api_url = 'http://localhost:3000';

  constructor(private http: HttpClient) { } 

  tweet(tweetdata: string) {
    return this.http.post<any>(`${this.api_url}/post_tweet/`, {status: tweetdata})
        .pipe(map(tweet => {

            alert("tweet posted")

            return tweet;
        }));
}
}

and here is my angular Code that sends a tweet to the node server

sendTweet() {  
  this.api.tweet('sent from phone')
            .pipe(first())
            .subscribe(
                data => {
                    console.log('yes')
                },
                error => {
                  'failed'
                });
}

connect plugin

twitterLogin() {
    this.twitter.login().then((res: any) => {
      localStorage.setItem('twitterLogin', "true");
      this.firebaseService.twitterDetail(this.userId, res);


      this.twitterUser = true;
      if(this.twitterUser == true){
        this.twitter.showUser()
        .then(user => {
          console.log("User: " + user +
                        'username ' + res.username+ " " + user.username);

        });
      }


    }, (err: any) => {
      alert('error: ' + err);
    });
  }

来源:https://stackoverflow.com/questions/58962724/angular-node-authenticate-user

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!