我正在尝试将oauth2集成到我的项目中。我有自己的api服务,用laravel框架编写。我也有oauth2服务。
我已经查看了一些关于oauth2实现的教程。但我有一个问题。我这里有登录功能;
func login(){
let url = "http://someurl/oauth/token"
let paramater: [String : Any] = ["grant_type": "password",
"client_id": someid,
"client_secret": "somesecret",
"username" : "username",
"password" : "1234567",
"scope" : ""
]
Alamofire.request(url, method: .post, parameters: paramater, headers: nil).responseJSON { (response) in
print(response)
if let dict = response.result.value as? [String:Any]{
if let accessToken = dict["access_token"] as? String{
self.oauth(token: accessToken)
}
}
}
}
我运行此功能,我获取访问令牌并执行此功能。
func oauth(token : String){
let url = "http://someurl/api/user"
let header = ["Accept" : "application/json",
"Authorization" : "Bearer \(token)"]
Alamofire.request(url, method: .get, parameters: nil, headers: header).responseJSON { (response) in
print(response.result.value)
}
}
通过这些功能,我获得了用户详细信息。但我想知道我做得对。这是真正的做法吗?如果不是,那么真正的方式是什么。谢谢。