django rest framework social auth oauth2

时间:2018-03-18 11:15:52

标签: angular rest django-rest-framework django-authentication django-socialauth

我'我正在为django rest框架(django 2)工作,为后端提供角度为5的客户端。我使用this模块social auth

我对它和我的代码有一些重要的问题。

从文档中我们必须向此网址client_id发送secret_idhttp://localhost:8000/auth/token和客户端密码以及用户和密码,作为回报,它会向我们提供access_token。所以我们应该在客户端有secret_id和client_id ...将数据保存在那里是否安全?如果没有,那么正确的方法是什么?

  private client_id = "uvsNRS7segoeAY71kLlqxotWx8iUhK2DoRi4ru84";
  private client_secret= "NXpXO1RzfQIHRImDu5LoM2W7ln3VACT6fWSSKQhhAXdBgec8yRTXIC1AlFzMbBiPDBx5e9SaBztf9tSINoJxRpybZXHAtuwYOtDySyJWOmeTkC22JMv64IUr2PUyEjwU";

  onSubmit({value, valid}) {
    if (!valid) {
      console.log("form in invalid!");
    }
    let username = value.username;
    let password = value.password;

    this.http.post<any>("http://localhost:8000/auth/token/", {client_id: this.client_id,client_secret: this.client_secret,grant_type: "password",username : username, password: password})
      .subscribe(
        user => {
          console.log(user)
          if (user && user.access_token) {
            console.log(user)
            localStorage.setItem('token', JSON.stringify(user.access_token));

            this.dialogRef.close(username);
            this.router.navigateByUrl(this.returnUrl);
          }
        }, err => {
          this.error = err.error.non_field_errors;
        }
      );
  }
  1. 此模块为我们提供了&#34; access_token&#34;。有没有办法使用jwt而不是这个?

  2. django 2 jwt是否有支持social auth的模块?默认情况下,我搜索了很多次,但所有包都是django 1.1。 如果你知道更好的事情,请告诉我。

  3. 在客户端:找到用户角色的最佳方式是什么,以授予他查看路线的权限?

0 个答案:

没有答案