在uni-app里使用identity server4登录

服务器端配置:

                    Client oneResult = new Client
                    {
                        ClientId = "localHtml",
                        ClientName = "test",
                        AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
                        ClientSecrets = { new Secret("1".Sha256()) },
                        AllowOfflineAccess = true,
                        RequireConsent = false,
                        RequireClientSecret = false,
                        AllowedScopes = { "openid", "sid" },
                        AuthorizationCodeLifetime = 36000,
                        IdentityTokenLifetime = 36000,
                        UserSsoLifetime = 36000
                    };

 

uni端调用:

                        uni.request({
                            url: baseUrl + '/connect/token',
                            method: 'POST',
                            header: {
                                'content-type': "application/x-www-form-urlencoded"
                            },
                            data: {
                                    username: this.user_name,
                                    password: this.password,
                                    grant_type: 'password',
                                    client_id: 'localHtml'
                            },
                            success: res => {
                                    console.log(res);
                                    if (res.statusCode === 200) {
                                        uni.setStorageSync('access_token', res.data.token_type + ' ' + res.data.access_token);
                                        uni.setStorageSync('user_name', this.user_name);
                                        uni.showToast({
                                            icon: 'none',
                                            title: '登录成功! '
                                        })
                                    } else {
                                        uni.showToast({
                                            icon: 'none',
                                            title: '登录失败! ['+res.statusCode+"] 请检查用户名/密码是否输入正确,或手机网络!",
                                            duration:3000
                                        })
                                    }
                            },
                            fail(e) {
                                console.log(e);
                            }
                        })

 

posted @ 2021-05-04 09:38  星星c#  阅读(410)  评论(0编辑  收藏  举报