authenticaction, registration, login

This commit is contained in:
Bossanyi Tibor
2020-06-10 16:19:48 +02:00
parent dba2228939
commit c685dfb71c
25 changed files with 608 additions and 38 deletions
@@ -0,0 +1,19 @@
package com.aitrainer.api.service
import org.springframework.context.annotation.Bean
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
import org.springframework.security.crypto.password.PasswordEncoder
import org.springframework.stereotype.Component
/*
Commonly used Beans
*/
@Component
class ServiceBeans {
@Bean
fun passwordEncoder(): PasswordEncoder {
return BCryptPasswordEncoder()
}
}
@@ -0,0 +1,34 @@
package com.aitrainer.api.service
import com.aitrainer.api.model.Customer
import com.aitrainer.api.repository.CustomerRepository
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.security.core.GrantedAuthority
import org.springframework.security.core.userdetails.User
import org.springframework.security.core.userdetails.UserDetails
import org.springframework.security.core.userdetails.UserDetailsService
import org.springframework.security.core.authority.SimpleGrantedAuthority
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import kotlin.collections.HashSet
@Service
class UserDetailsServiceImpl: UserDetailsService {
@Autowired
private lateinit var customerRepository: CustomerRepository
@Override
@Transactional(readOnly = true)
override fun loadUserByUsername(username: String?): UserDetails {
val customer: Customer? = customerRepository.findByEmail(username)
val grantedAuthorities = HashSet<GrantedAuthority>()
grantedAuthorities.add(SimpleGrantedAuthority("user"))
if (customer != null) {
return User(customer.email, customer.password, grantedAuthorities)
} else {throw Exception("User does not exist")}
}
}