CORS corregido

This commit is contained in:
Eneko Nieto
2021-01-22 02:32:55 +01:00
parent 9715743ce8
commit c8c05a03b6
5 changed files with 21 additions and 17 deletions

View File

@@ -3,7 +3,9 @@ package eu.fosil.okupamicoche.entities
import com.fasterxml.jackson.annotation.JsonInclude
@JsonInclude(JsonInclude.Include.NON_NULL)
class ApiResponse<T>(val success: Boolean, val data: T?, val error: Exception?) {
class ApiResponse<T>(val success: Boolean, val data: T?, val error: ApiError?) {
constructor(success: Boolean, data: T) : this(success, data, null)
constructor(success: Boolean, error: Exception) : this(success, null, error)
}
constructor(success: Boolean, error: ApiError) : this(success, null, error)
}
class ApiError(val code: String, val msg: String?)

View File

@@ -7,14 +7,14 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
@Configuration
class JWTSecurityConfig : WebSecurityConfigurerAdapter() {
@Throws(Exception::class)
override fun configure(http: HttpSecurity) {// @formatter:off
override fun configure(http: HttpSecurity) {//@formatter:off
http.cors()
.and()
.authorizeRequests()
.anyRequest()
.hasAuthority("SCOPE_profile")
// .and()
// .authorizeRequests()
// .anyRequest()
// .hasAuthority("SCOPE_profile")
.and()
.oauth2ResourceServer()
.jwt();
.jwt()
}//@formatter:on
}

View File

@@ -1,17 +1,19 @@
package eu.fosil.okupamicoche.spring.controller
import eu.fosil.okupamicoche.entities.ApiError
import eu.fosil.okupamicoche.entities.ApiResponse
import eu.fosil.okupamicoche.entities.UserIdNotFoundException
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.security.oauth2.jwt.Jwt
open class ApiRestController {
interface ApiRestController {
fun <T> response(function: () -> T): ApiResponse<T> {
return try {
val data = function()
ApiResponse(true, data)
} catch (e: Exception) {
ApiResponse(false, e)
e.printStackTrace()
ApiResponse(false, ApiError(e.javaClass.canonicalName, e.message))
}
}

View File

@@ -9,18 +9,16 @@ import eu.fosil.okupamicoche.spring.dto.TravelDto
import eu.fosil.okupamicoche.usecases.travel.*
import org.springframework.data.repository.findByIdOrNull
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.ModelAttribute
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import org.springframework.web.bind.annotation.*
@RestController
@RequestMapping("/api/travel")
@CrossOrigin(origins = ["http://localhost:4200"])
class TravelRestController(
private val userRepository: UserRepository,
private val travelRepository: TravelRepository
) : ApiRestController() {
) : ApiRestController {
@RequestMapping("/create")
fun createTravel(@ModelAttribute @Validated travel: TravelDto): ApiResponse<Unit> {

View File

@@ -7,13 +7,15 @@ import eu.fosil.okupamicoche.spring.dto.CreateUserDto
import eu.fosil.okupamicoche.spring.dto.UserDto
import eu.fosil.okupamicoche.usecases.user.*
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.CrossOrigin
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("/api/user")
class UserRestController(private val userRepository: UserRepository) : ApiRestController() {
@CrossOrigin(origins = ["http://localhost:4200"])
class UserRestController(private val userRepository: UserRepository) : ApiRestController {
@RequestMapping("/create")
fun createUser(@RequestBody @Validated createUserDto: CreateUserDto): ApiResponse<Unit> {