Axios again. Done. Registration flow seems ok.
This commit is contained in:
@@ -1,4 +1,13 @@
|
||||
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
|
||||
import {
|
||||
Controller,
|
||||
Get,
|
||||
Post,
|
||||
Body,
|
||||
Patch,
|
||||
Param,
|
||||
Delete,
|
||||
Headers,
|
||||
} from '@nestjs/common';
|
||||
import { RegisterService } from './register.service';
|
||||
import { CreateUserDto } from './dto/create-user.dto';
|
||||
import { UpdateUserDto } from './dto/update-user.dto';
|
||||
@@ -8,13 +17,16 @@ export class RegisterController {
|
||||
constructor(private readonly registerService: RegisterService) {}
|
||||
|
||||
@Post()
|
||||
create(@Body() createUserDto: CreateUserDto) {
|
||||
return this.registerService.create(createUserDto);
|
||||
create(
|
||||
@Headers('Authorization') accessToken: string,
|
||||
@Body() createUserDto: CreateUserDto,
|
||||
) {
|
||||
return this.registerService.create(accessToken, createUserDto);
|
||||
}
|
||||
|
||||
@Get()
|
||||
findAll() {
|
||||
return this.registerService.findAll();
|
||||
findAll(@Headers('Authorization') accessToken: string) {
|
||||
return this.registerService.findAll(accessToken);
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { Body, Injectable } from '@nestjs/common';
|
||||
import {
|
||||
Configuration,
|
||||
RealmUsersPostRequest,
|
||||
CredentialRepresentation,
|
||||
UserRepresentation,
|
||||
UsersApi,
|
||||
} from '../../../keycloak/kc-client';
|
||||
@@ -9,28 +9,81 @@ import { UpdateUserDto } from './dto/update-user.dto';
|
||||
|
||||
@Injectable()
|
||||
export class RegisterService {
|
||||
async create(userRepresentation: UserRepresentation) {
|
||||
const accessToken =
|
||||
'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICItQjJOQnpxUmhMTjBqNlJyUWFGRHpMaTNIQUhaMFU0VDZQUFN5Y3cyc0RrIn0.eyJleHAiOjE2NjIzODQ0NjAsImlhdCI6MTY2MjM4NDE2MCwianRpIjoiNTNkMDA2NTYtYWE2ZS00YjY1LTgyMTEtNWY4ODJmODVlNTIxIiwiaXNzIjoiaHR0cHM6Ly9vYXV0aC5hcHBzLmFydHNlcnZpcy5hbC9hdXRoL3JlYWxtcy9GbHV4ZW0tREVWIiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6IjIzYjM5MTk0LTlhMmQtNDk3Yi1hYjM5LWIwM2YwYTJjMzM5YiIsInR5cCI6IkJlYXJlciIsImF6cCI6IndlYmFwcC1kZXYiLCJzZXNzaW9uX3N0YXRlIjoiYTg1YjZhMWUtMGQzNy00OWQ0LTk5YjUtMmZhOTU5MGZkYzhlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL2hhc3VyYS5hcHBzLmFydHNlcnZpcy5hbCIsImh0dHA6Ly9sb2NhbGhvc3Q6MzAwMCJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiIsImRlZmF1bHQtcm9sZXMtZmx1eGVtLWRldiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7InJlYWxtLW1hbmFnZW1lbnQiOnsicm9sZXMiOlsibWFuYWdlLXVzZXJzIl19LCJ3ZWJhcHAtZGV2Ijp7InJvbGVzIjpbImFkbWluIiwidXNlciJdfSwiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwic2NvcGUiOiJlbWFpbCBoYXNzdXJhIHByb2ZpbGUiLCJzaWQiOiJhODViNmExZS0wZDM3LTQ5ZDQtOTliNS0yZmE5NTkwZmRjOGUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaHR0cHM6Ly9oYXN1cmEuaW8vand0L2NsYWltcyI6eyJ4LWhhc3VyYS1kZWZhdWx0LXJvbGUiOiJ1c2VyIiwieC1oYXN1cmEtdXNlci1pZCI6IjIzYjM5MTk0LTlhMmQtNDk3Yi1hYjM5LWIwM2YwYTJjMzM5YiIsIngtaGFzdXJhLWFsbG93ZWQtcm9sZXMiOlsiYWRtaW4iLCJ1c2VyIl19LCJuYW1lIjoiQWRtaW4gVGVzdCIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiZ2l2ZW5fbmFtZSI6IkFkbWluIiwiZmFtaWx5X25hbWUiOiJUZXN0In0.ov4yxi19x7QNHa3Jz_pNSLVwtZukYhfh-cbfHUOrIKlIuaZDO_QAohmO6Vgv7uiKRFMHp4ntJntJiaH-lxtPAUo7ai4c6hbjnZPYI-yzSwsohfuEh7eG7sgowV2j4DZ8nxJp4WS1ipukilAQhdITKuKGjUuA9vpy5NNh-kzIakJDp8Jh0OYcIncV-WrDSmnvDQPP4grq09kXcg34e6YNWr4LCJgQDkUQ4XAZOLfqNs7cqqJL57kdEN7oEDzczMCYY9baRvflEtxDWMKNSjYW6-9L6mF3aKG1sR0JHogf24CmwuVNohgda2dCqmp57Djsyr7tqdll0fnhEiUBi-h3xQ';
|
||||
async create(accessToken: string, userRepresentation: UserRepresentation) {
|
||||
accessToken = accessToken.replace('Bearer ', '');
|
||||
const basePath = `${process.env.KC_BASE_URL}/auth/admin/realms`;
|
||||
const config = new Configuration({ basePath, accessToken });
|
||||
const usersApi = new UsersApi(config);
|
||||
|
||||
const requestParams: RealmUsersPostRequest = {
|
||||
realm: process.env.KC_REALM,
|
||||
userRepresentation,
|
||||
};
|
||||
|
||||
const usersApi = new UsersApi({ basePath, accessToken });
|
||||
try {
|
||||
const registereredUser = await usersApi.realmUsersPost(requestParams);
|
||||
return registereredUser;
|
||||
const registereredUser = await usersApi.realmUsersPost(
|
||||
process.env.KC_REALM,
|
||||
userRepresentation,
|
||||
);
|
||||
// console.log(registereredUser);
|
||||
|
||||
try {
|
||||
const newUserRegistered = await usersApi.realmUsersGet(
|
||||
process.env.KC_REALM,
|
||||
true,
|
||||
userRepresentation.email,
|
||||
);
|
||||
if (newUserRegistered.data.length > 0) {
|
||||
const userFound: UserRepresentation = newUserRegistered.data[0];
|
||||
console.log(userFound.id);
|
||||
|
||||
try {
|
||||
const credentialRepresentation: CredentialRepresentation = {temporary: false, value: "1234"}
|
||||
const setUserPassword = await usersApi.realmUsersIdResetPasswordPut(process.env.KC_REALM, userFound.id, credentialRepresentation)
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
// Ska nevoje te nsim email.
|
||||
const sendMailToCreatedUser =
|
||||
await usersApi.realmUsersIdSendVerifyEmailPut(
|
||||
process.env.KC_REALM,
|
||||
userFound.id,
|
||||
process.env.KC_CLIENT_ID,
|
||||
'http://localhost:3000',
|
||||
{
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
},
|
||||
);
|
||||
console.log(sendMailToCreatedUser);
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
return error.data;
|
||||
}
|
||||
|
||||
return registereredUser.data;
|
||||
// try {
|
||||
// const sendMail = await usersApi.realmUsersIdSendVerifyEmailPut(process.env.KC_REALM, registereredUser.data.id)
|
||||
// } catch (error) {
|
||||
|
||||
// }
|
||||
} catch (error) {
|
||||
return error;
|
||||
console.log(error);
|
||||
return error.response.data;
|
||||
}
|
||||
}
|
||||
|
||||
async findAll() {
|
||||
return 'Find all Users';
|
||||
async findAll(accessToken: string) {
|
||||
accessToken = accessToken.replace('Bearer ', '');
|
||||
|
||||
const basePath = `${process.env.KC_BASE_URL}/auth/admin/realms`;
|
||||
const usersApi = new UsersApi({ basePath, accessToken });
|
||||
try {
|
||||
const users = await usersApi.realmUsersGet(process.env.KC_REALM);
|
||||
return users.data;
|
||||
} catch (error) {
|
||||
return error.data;
|
||||
}
|
||||
}
|
||||
|
||||
findOne(id: number) {
|
||||
|
||||
Reference in New Issue
Block a user