Laravel5.3でiOSなどのモバイル用のAPIを作成する方法


目的: Laravel5.3で作成したAPIをiOSから用いたい

Laravel5.3にPassportを導入し、iOSから`access_token`を取得することはできました。  
以下はその例です。

[code]

    let authUrl  = URL(string: "http://laravel.dev/oauth/token")!
    let authBody = NSMutableDictionary()
    var request  = URLRequest(url: authUrl)
    
    authBody.setValue("2", forKey: "client_id")
    authBody.setValue("*******", forKey: "client_secret")
    authBody.setValue("api@laravel.com", forKey: "username")
    authBody.setValue("*******", forKey: "password")
    authBody.setValue("password", forKey: "grant_type")
    authBody.setValue("", forKey: "scope")
    
    request.httpMethod = "POST"
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")
    request.httpBody = try JSONSerialization.data(withJSONObject: authBody, options: JSONSerialization.WritingOptions.prettyPrinted)
    
    URLSession.dataTask(with: request, completionHandler: completionHandler: { data, response, error in
    
        let json = try? JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! [String: AnyObject]
    
        print(json!) // 正しくtokenを受け取れていることを確認
    
    }).resume()
    
[/code]

しかし、tokenを取得したのはよいのですが、このtokenをどう使えばLaravelで作成したAPIが使えるようになるのか？  
ということがわかりませんでした。

以下の画像はLaravelで作成してあるAPIの一部です。  
[![api routing
sample](https://i.stack.imgur.com/g9gBf.png)](https://i.stack.imgur.com/g9gBf.png)  
API認証やPassportについて色々調べましたが、WebからAPIを用いる方法しかなく私のやりたいことをみつけることができませんでした。




PassportのOAuth2トークンを利用したリクエストは、`Authorization`ヘッダーに取得したトークンを`Bearer
${token}`の形で投げることによって利用できます。

[code]

    request.addValue("Bearer " + accessToken , forHTTPHeaderField: "Authorization")
    
[/code]




PassportのOAuth2トークンを利用したリクエストは、`Authorization`ヘッダーに取得したトークンを`Bearer
${token}`の形で投げることによって利用できます。

[code]

    request.addValue("Bearer " + accessToken , forHTTPHeaderField: "Authorization")
    
[/code]

