在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); } })